Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 如何在配置单元中模拟BigQuery的分位数_Hadoop_Apache Spark_Hive_Google Bigquery_Quantile - Fatal编程技术网

Hadoop 如何在配置单元中模拟BigQuery的分位数

Hadoop 如何在配置单元中模拟BigQuery的分位数,hadoop,apache-spark,hive,google-bigquery,quantile,Hadoop,Apache Spark,Hive,Google Bigquery,Quantile,我想在Hive中模拟BigQuery的分位数函数 数据集:1,2,3,4 BigQuery的查询结果将返回值2 选择nth2,分位数col1,3 但在蜂箱中: 选择百分位数1,0.5 我得了2.5分 注意:对于奇数记录,我得到了相同的结果 是否有足够的Hive的udf功能?我想你要找的是百分位近似udf 提供配置单元中所有内置UDF的列表 百分位_可批准双列,p[,B] 返回数值列(包括组中的浮点类型)的近似第pth个百分位数。B参数以内存为代价控制近似精度。值越高,近似值越好,默认值为1000

我想在Hive中模拟BigQuery的分位数函数

数据集:1,2,3,4

BigQuery的查询结果将返回值2

选择nth2,分位数col1,3

但在蜂箱中:

选择百分位数1,0.5

我得了2.5分

注意:对于奇数记录,我得到了相同的结果


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

我想你要找的是百分位近似udf

提供配置单元中所有内置UDF的列表

百分位_可批准双列,p[,B]

返回数值列(包括组中的浮点类型)的近似第pth个百分位数。B参数以内存为代价控制近似精度。值越高,近似值越好,默认值为10000。当col中不同值的数量小于B时,这将给出一个精确的百分位值


分位数是一种统计近似值。将标准SQL与BigQuery结合使用时,类似情况称为近似分位数。如果Hive给了你一个精确的值,你为什么想要一个近似的中位数呢?谢谢Elliott的快速回复。对于使用近似中值的用例,我得到了更好的结果。据我所知,Hive中没有近似分位数函数。百分位数近似的结果不同,它取决于行数和B参数。但BigQuery查询结果是一致的。