添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

HiveQL/SparQL 常用函数


HiveQL/SparQL 常用函数 一、窗口函数 1.1 基础结构 1.2 row_number/rank/dense_rank:排序函数 1.3 sum/avg/max/min:聚合函数 1.4 lag/lead/first_value/last_value:取上下行函数 1.5 ntile: 分析函数,用于百分点、n分片等 1.6 count over 二、数组类型的函数 2.1 array:生成数组格式 2.2 collect_list/collect_set:分组中某列转为数组返回 2.3 array_contains:判断数组是否包含某个元素 2.4 split:字符串切分为数组 三、正则表达式函数 3.1 like:判断是否匹配 3.2 regexp/rlike:正则判断是否 3.3 regexp_extract:正则匹配 3.4 regexp_replace:正则代替 3.5 常用匹配 四、字符串函数 4.1 concat:字符串拼接 4.2 concat_ws:列表格式拼接 4.3 instr:字符串查找 4.4 substr:字符串截取 五、时间处理函数 5.1 from_unixtime/unix_timestamp:时间戳转换 5.2 pdate2date/date2pdate:日期格式转换 5.3 date_sub/add_months: 返回前n天/月的日期 5.4 datediff:计算日期差 5.5 trunc:返回 当月第一天/返回双月第一天 六、行转列 6.1 explode:单字段行转列 6.2 lateral view explode:行转列 6.3 lateral view posexplode:行转列,带顺序 七、分位数函数 7.1 percentile & percentile_approx 八、json函数 8.1 get_json_object:获取json对象的value 8.2 json_tuple:一次获取多个对象的value 九、其他 9.1 greatest:多列 最大值 9.2 rand:随机函数 9.3 max_pt:读取表中最大分区 9.4 coalesce/nvl:返回第一个非空值 十、参考

一、窗口函数

1.1 基础结构

窗口函数 = 分析函数 + over函数

分析函数:sum ( )、max ( )、row_number ( ) 等等

over函数:over (partition by user_id order by date desc/asc)

按照user_id字段分区,每个分区内根据date字段排序,asc:升序(默认升序) desc:降序

1.2 row_number/rank/dense_rank:排序函数

a) row_number ( ) over ( ) :依次排序且不会并列重复

b) rank ( ) over ( ) :排序相等会在名次中留下空位

c) dense_rank ( ) over ( ) :排序相等不会在名次中留下空位