专栏首页最新最全的大数据技术体系Hive的基本知识(三)Hive中的函数大全

Hive的基本知识(三)Hive中的函数大全

💃 Hive中的函数

针对内置的函数,可以根据函数的应用类型进行归纳分类,比如:数值类型函数、日期类型函数、字符

串类型函数、集合函数、条件函数等;

针对用户自定义函数,可以根据函数的输入输出行数进行分类,比如:UDF、UDAF、UDTF。

💃 内置函数分类:

💃 字符串函数:

字符串长度函数:length

字符串反转函数:reverse

字符串连接函数:concat

带分隔符字符串连接函数:concat_ws

字符串截取函数:substr,substring

字符串转大写函数:upper,ucase

字符串转小写函数:lower,lcase

去空格函数:trim

左边去空格函数:ltrim

右边去空格函数:rtrim

正则表达式替换函数:regexp_replace

正则表达式解析函数:regexp_extract

URL解析函数:parse_url

json解析函数:get_json_object

空格字符串函数:space

重复字符串函数:repeat

首字符ascii函数:ascii

左补足函数:lpad

右补足函数:rpad

分割字符串函数: split

集合查找函数: find_in_set

💃 用户自定义函数分类

UDF(User-Defined-Function)普通函数,一进一出

UDAF(User-Defined Aggregation Function)聚合函数,多进一出

UDTF(User-Defined Table-Generating Functions)表生成函数,一进多出

💃 窗口函数

窗口函数(Window functions)是一种SQL函数,非常适合于数据分析,因此也叫做OLAP函数,其最

大特点是:输入值是从SELECT语句的结果集中的一行或多行的“窗口”中获取的,通过OVER子句,窗口函

数与其他SQL函数有所区别。如果函数具有OVER子句,则它是窗口函数。如果它缺少OVER子句,则它是一个普通的聚合函数。

💃 日期函数

获取当前日期: current_date

获取当前时间戳: current_timestamp

UNIX时间戳转日期函数: from_unixtime

获取当前UNIX时间戳函数: unix_timestamp

日期转UNIX时间戳函数: unix_timestamp

指定格式日期转UNIX时间戳函数: unix_timestamp

抽取日期函数: to_date

日期转年函数: year

日期转月函数: month

日期转天函数: day

日期转小时函数: hour

日期转分钟函数: minute

日期转秒函数: second

日期转周函数: weekofyear

日期比较函数: datediff

日期增加函数: date_add

日期减少函数: date_sub

💃 数据函数

•取整函数: round

•指定精度取整函数: round

•向下取整函数: floor

•向上取整函数: ceil

•取随机数函数: rand

•二进制函数: bin

•进制转换函数: conv

•绝对值函数: abs

💃 条件函数

•if条件判断: if(boolean testCondition, T valueTrue, T valueFalseOrNull)

•空判断函数: isnull( a )

•非空判断函数: isnotnull ( a )

•空值转换函数: nvl(T value, T default_value)

•非空查找函数: COALESCE(T v1, T v2, …)

•条件转换函数: CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END

•nullif( a, b ): 如果a = b,则返回NULL;否则返回a。

•assert_true: 如果’condition’不为真,则引发异常,否则返回null常见的分组排序函数

row_number:在每个分组中,为每行分配一个从1开始的唯一序列号,递增,不考虑重复;

rank: 在每个分组中,为每行分配一个从1开始的序列号,考虑重复,挤占后续位置;

dense_rank: 在每个分组中,为每行分配一个从1开始的序列号,考虑重复,不挤占后续位置;

💃 聚合函数

max()|min()|sum()|count()|avg()

💃 explode函数

explode函数接收map或者array类型的数据作为参数,然后把参数中的每个元素炸开变成一行数据。

一般情况下,explode函数可以直接使用即可,也可以根据需要结合lateral view侧视图使用。

explode函数的使用

在Select的时候,explode的旁边不支持其他字段的同时出现,Hive专门提供了语法lateral View侧视

图,专门用于搭配explode这样的UDTF函数

lateral view侧视图

Lateral View是一种特殊的语法,主要用于搭配UDTF类型功能的函数一起使用,用于解决UDTF函数的

一些查询限制的问题。

示例

select explode(`array`(11,22,33)) as item; 

select explode(`map`("id",10086,"name","zhangsan","age",18)); 

select a.team_name ,b.year 

from table_name a lateral view explode(tab_year) b as year
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://blog.csdn.net/xianyu120复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • Hive的基本知识(三)Hive中的函数大全

    针对内置的函数,可以根据函数的应用类型进行归纳分类,比如:数值类型函数、日期类型函数、字符

    ChinaManor
  • Hive的基本知识(二)Hive中的各种表

    内部表也称为被Hive拥有和管理的托管表(Managed table)。默认情况下创建的表就是内部表,Hive拥有该表的结构和文件。换句话说,Hive完全管理表...

    ChinaManor
  • Hive的基本知识(二)Hive中的各种表

    内部表也称为被Hive拥有和管理的托管表(Managed table)。默认情况下创建的表就是内部表,Hive拥有该表的结构和文件。换句话说,Hive完全管理表...

    ChinaManor
  • 【Hive】Hive 的内置函数

    这篇文章主要介绍 Hive 的一些内置函数,其目的在于了解和知道大概有哪些内置函数,以及我们能够做哪些操作。

    阿泽 Crz
  • Hive的基本知识(一)

    Hive 组件 用户接口:包括 CLI、JDBC/ODBC、WebGUI。其中,CLI(command line interface)为shell命令行; ...

    ChinaManor
  • Hive的基本知识(一)

    ?Hive 组件 用户接口:包括 CLI、JDBC/ODBC、WebGUI。其中,CLI(command line interface)为shell命令行; ...

    ChinaManor
  • Hive 中的排序和开窗函数

    排序操作是一个比较常见的操作,尤其是在数据分析的时候,我们往往需要对数据进行排序,hive 中和排序相关的有四个关键字,今天我们就看一下,它们都是什么作用。

    大数据真好玩
  • Hive 中的排序和开窗函数

    排序操作是一个比较常见的操作,尤其是在数据分析的时候,我们往往需要对数据进行排序,hive 中和排序相关的有四个关键字,今天我们就看一下,它们都是什么作用。

    Spark学习技巧
  • 举一反三-Pandas实现Hive中的窗口函数

    1、Hive窗口函数 我们先来介绍一下Hive中几个常见的窗口函数,row_number(),lag()和lead()。 row_number() 该函数的格式...

    石晓文
  • Hive常用的函数总结

    上一篇文章《Hive查询的18种方式,你都学会了吗?》为大家系统地介绍了Hive查询的18种方式,受到了一些朋友的好评,让笔者备受鼓舞。于是本篇...

    大数据梦想家
  • Hive常用函数的使用

    文章作者:foochane </br> 原文链接:https://foochane.cn/article/2019062501.html

    foochane
  • Hive常见的分析函数

    窗口排序函数提供了数据的排序信息,比如行号和排名。在一个分组的内部将行号或者排名作为数据的一部分进行返回,最常用的排序函数主要包括:

    大数据老哥
  • 2021年大数据Hive(七):Hive的开窗函数

    DENSE_RANK() 生成数据项在分组中的排名,排名相等会在名次中不会留下空位

    Lanson
  • Hive快速入门系列(11) | Hive的自定义函数

      我们可以看到hive自带的函数就有两百多个,但我们平时经常用到的可能就那么几个,并且自带的函数功能还十分受限!有时候,为了更好的实现业务需求,这时就需要我们...

    不温卜火
  • Hive实现oracle的Minus函数[通俗易懂]

    在Oracle中minus运算的主要功能是: 在进行两个表格或者两个查询结果的时候,返回在第一个表格/查询结果中与第二个表格/查询结果不同样的记录。

    全栈程序员站长
  • 2021年大数据Hive(六):Hive的表生成函数

    explode(col):将hive一列中复杂的array或者map结构拆分成多行。 explode(ARRAY) 数组的每个元素生成一行 explode(...

    Lanson
  • CDP中的Hive3系列之管理Hive

    Apache Hive 在行级别支持 ACID(原子性、一致性、隔离性和持久性)v2 事务,无需任何配置。了解此支持需要什么可帮助您确定您创建的表类型。

    大数据杂货铺
  • hive(3)——在hive中使用自己写的函数(python实现)

    如果我们想在hive中添加自己写的函数,可用如下方法: 前提:已经开启hdfs,yarn服务,并且关闭safe模式,打开mysql ps:udf是mappe...

    gzq大数据
  • 万文讲解Hive 中的排序和开窗函数

    排序操作是一个比较常见的操作,尤其是在数据分析的时候,我们往往需要对数据进行排序,hive 中和排序相关的有四个关键字,今天我们就看一下,它们都是什么作用。

    大数据老哥

扫码关注腾讯云开发者

领取腾讯云代金券