持之以恒,贵在坚持,每天进步一点点!
前言
上一篇文章《Hive查询的18种方式,你都学会了吗?》为大家系统地介绍了Hive查询的18种方式,受到了一些朋友的好评,让笔者备受鼓舞。于是本篇文章,我们再来学习关于Hive常用的函数,希望读者朋友们能够从中受益!
作者:猿人菌
Hive内部支持大量的函数,可以通过 SHOW FUNCTIONS
查看Hive的内置函数。灵活地运用Hive提供的函数能够极大地节省数据分析成本。Hive函数主要包含数学函数,集合函数,类型转换函数,日期函数,条件函数,字符串函数,聚合函数和表生成函数等。
1、数学函数
数学函数是Hive内部提供的专门用于数学运算的函数,如round()
函数和sqrt()
函数等。round()
函数主要用来对给定的数字进行四舍五入取近似值,如下所示:
sqrt()
函数表示对给定的数字取平方根,如下所示:
2、集合函数
集合函数是Hive内部处理集合数据的函数,如size()
函数和map_keys()
函数。size()
函数主要用来获取 map 或者数组的长度,如下所示:
map_keys()
函数主要用来获取map集合中所有的key,如下所示:
3、类型转换函数
Hive内部提供了一些可以将数据类型进行转换的函数,这些函数能够将某些数据类型转换为便于查询或者计算统计的数据类型。例如 cast()
函数,其基本格式为 cast(value as TYPE)
,能够将给定的数据 value 转化为 TYPE
类型,如下所示:
4、日期函数
日期函数是一类专门处理日期数据的函数,能够方便地对日期数据进行转换和处理。例如:unix_timestamp()
函数,其能够方便地获取服务器的时间戳,如下所示:
5、条件函数
条件函数是一类进行条件判断的函数,通常会用于 WHERE 语句,如 isnull()
函数和nvl()
函数。isnull()
函数表示如果给定的数据为 NULL,则返回 true,否则返回 false,如下所示:
6、字符串函数
字符串函数是一类处理字符串数据的函数,可以对字符串进行拼接、转换等操作,如length()
函数和concat()
函数。length()
函数用于获取给定字符串的长度,如下所示:
concat()
函数能够对给定的字符串进行依次拼接操作,如下所示:
7、聚合函数
聚合函数是一类对数据进行统计计算的函数,能够方便地对 Hive 中的数据进行统计处理,如 count()
函数和sum()
函数。count()
函数能够获取 Hive 数据表中的数据条数,如下所示:
sum()
函数主要用来对数据表中的某一列数据进行求和统计,如下所示:
8、表生成函数
表生成函数接收0个或者多个输入参数,产生多列或多行输出,如explode()
函数,如下所示:
注意:explode()
函数将一行的数据拆分成多行,它的参数必须为map或array