hive常用函数总结

来源:互联网 发布:淘宝网 情趣内衣 模特 编辑:程序博客网 时间:2024/06/05 00:32

1、hive 计算千分位数:

percentile函数和percentile_approx函数:

其使用方式为percentile(col, p)、percentile_approx(col, p,B),p(0,1) .返回col列p分位上的值。B用来控制内存消耗的精度。实际col中distinct的值<B返回的时精确的值。
其中percentile要求输入的字段必须是int类型的,而percentile_approx则是数值类似型的都可以 .

例如percentile_approx(grade, 0.95) 取得排位在倒数第5%的成绩。(使用时会对成绩进行排序,一般可以用于求中位数)

   

要求多个分位数时,可以把p换为array(p1,p2,p3),即

  percentile_approx(col,array(0.05,0.5,0.95),9999)   或者  

percentile_approx(cast(col as double),array(0.05,0.5,0.95),9999


结果为

[0.0,4001.0,4061.0]

explode(percentile_approx(cast(col as double),array(0.05,0.5,0.95),9999))as percentile 结果转换为列

0 0
原创粉丝点击