hive常用函数

类型 函数 hive presto mysql
字符串 拆分 split(s,'_')[0] split(s,'_')[1] 无()
拼接 concat('a','b') concat('a','b') concat('a','b')
替换

regexp_replace(s,'^\\[|"|\\]$','')

replace('aaa','a','w') replace('aaa','a','w')
提取 substr(s,0,n) substr(s,1,n) substring('computer',1,4)
提取

substring_index(s,'',n)

位置 instr(addr,'_')

strpos('13_1_3','_')

instr(addr,'_')
json 提取 get_json_object(js,'$[*].k') json_extract(js,'$[0].k')
json_extract_scalar(js,'$.k')
json_extract(js,'$[*].k')
日期 当前时间

current_date

now()=

current_timestamp

当前时间戳 unix_timestamp
时间戳转日期 from_unixtime(10, 'yyyy-MM-dd HH:mm:ss')

from_unixtime(10)

FROM_UNIXTIME(10)
日期转时间戳
日期相减 datediff('2', '1') date_diff('day',cast(date),cast(date)) 
日期加减 date_add('2',1)
当周第n天
当月第n天
数字 中位数

percentile(c,0.5)

array 提取 a[0] a[1]
排序

sort_array(a)

转字符串 concat_ws(',',a)
array_intersect(a1,a2)
array_union(a1,a2)
array_except(a1,a2)
  大小 size(a) cardinality(a)
map
聚合
列转行 lateral view explode

cross join unnest(map) as tmp(k,value )

窗口

你可能感兴趣的:(hive,mysql)