如何在Hive中模拟BigQuery的分位数

时间:2017-09-07 14:18:20

标签: hadoop apache-spark hive google-bigquery quantile

我想在Hive中模拟BigQuery的QUANTILES函数。

数据集:1,2,3,4

BigQuery的查询结果将返回值2

  

选择第n(2,分位数(col1,3))

但是在Hive中:

  

选择百分位数(col1,0.5)

我有2.5

注意:奇数记录的结果相同。

是否有足够的Hive的udf功能?

1 个答案:

答案 0 :(得分:0)

我猜你要找的是percentile_approx UDF。

This page为您提供了Hive中所有内置UDF的列表。

  

percentile_approx(DOUBLE col,p [,B])

     

返回组中数字列(包括浮点类型)的近似第p个百分位数。 B参数以内存为代价控制近似精度。较高的值会产生更好的近似值,默认值为10,000。当col中的不同值的数量小于B时,这给出了精确的百分位值。