hive常用函数总结

xiaoxiao2021-02-28  148

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 结果转换为列

转载请注明原文地址: https://www.6miu.com/read-34857.html

最新回复(0)