Hive常用内置函数分为三类:
1.UDF(一进一出)
nvl(a,b) 若a为null则返回b的值,若不为null则返回a的值
2.UDTF(一进多出)
行转列
CONCAT(string A/col, string B/col
…
)
:返回输入字符串连接后的结果,支持任意个输入字
符串.
CONCAT_WS(separator, str1, str2,...)
:它是一个特殊形式的
CONCAT()
。第一个参数剩余参
数间的分隔符。
注意
: CONCAT_WS must be "string or array<string>"
COLLECT_SET(col)
:函数只接受基本数据类型,它的主要作用是将某字段的值进行去重.
3.UDAF(多进一出)
EXPLODE(col)
:将
hive
一列中复杂的
Array
或者
Map
结构拆分成多行。
LATERAL VIEW
用法:
LATERAL VIEW udtf(expression) tableAlias AS columnAlias
解释:用于和 split, explode 等 UDTF 一起使用,它能够将一列数据拆成多行数据,在此
基础上可以对拆分后的数据进行聚合
窗口函数
OVER()
:指定分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变而变化。
CURRENT ROW
:当前行
n PRECEDING
:往前
n
行数据
n FOLLOWING
:往后
n
行数据
UNBOUNDED
:起点,
UNBOUNDED PRECEDING
表示从前面的起点,
UNBOUNDED FOLLOWING