Hive常用函数
1、lead(a,b,c) over() :当前窗口向后偏移,a是需要偏移的列,b是偏移量,c是若没有值用默认值填充;
2、lag(a,b,c) over() :当前窗口向前偏移,a是需要偏移的列,b是偏移量,c是若没有值用默认值填充;
3、datediff(d1,d2) : d1和d2日期的差值;
4、if(boolean,a,b) : 如果第一个参数成立返回a,否则返回b;
5、floor() : 向下取整;【中位数:+1向下取整 +2 向下取整数】;
6、nvl(表达式1,表达式2):如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值;
7、nvl2(表达式1,表达式2,表达式3):如果表达式1为空,返回值为表达式3的值。如果表达式1不为空,返回值为表达式2的值;
8、coalesce( expression,value1,value2……,valuen) :返回包括expression在内的所有参数中的第一个非空表达式;
如果expression不为空值则返回expression;否则判断value1是否是空值,如果value1不为空值则返;
回value1;否则判断value2是否是空值,如果value2不为空值则返回value3;……以此类推,
如果所有的表达式都为空值,则返回NULL;
9、get_json_object(param1,"
.
p
a
r
a
m
2
"
)
:
j
s
o
n
字
段
的
.param2"):json字段的
.param2"):json字段的.的什么值;
10、collect_set(a)group by b:b分组完按照a进行去重收集,相当于行转列;
11、lateral view explode(split(字段,‘切分符号’)) tb1 列名:相当于列转行;
12、FIRST_VALUE 返回组中数据窗口的第一个值 FIRST_VALUE;
13、LAST_VALUE 返回组中数据窗口的最后一个值;
14、split(字段,‘切分符号’)【0】:切分字段取第一个值;
15、concat(‘1’,‘-’,‘2’,‘-’,‘3’):1-2-3;
16、concat_ws(‘-’,‘1’,‘2’,‘3’):1-2-3;
17、replace(String,from_str,to_str) 即:将String中所有出现的from_str替换为to_str;
18、from_unixtime(unix_timestamp(),‘yyyy-MM-dd HH:mm:ss’)
19、date_add:日期加天数
date_sub:日期减天数
last_day:日期的当月的最后一天
next_day:日期的下一个周几是哪一天
date_format:按照指定的格式对日期进行格式化
to_date:返回日期字符串中的日期部分
20、常用取整函数
round: 四舍五入
ceil: 向上取整
floor: 向下取整
常用字符串操作函数
upper: 转大写
lower: 转小写
length: 长度
trim: 前后去空格
lpad: 向左补齐,到指定长度
rpad: 向右补齐,到指定长度
regexp_replace: SELECT regexp_replace('100-200', '(\\d+)', 'num') ;
使用正则表达式匹配目标字符串,匹配成功后替换!
集合操作
size: 集合中元素的个数
map_keys: 返回map中的key
map_values: 返回map中的value
array_contains: 判断array中是否包含某个元素
sort_array: 将array中的元素排序