Hadoop 如何在配置单元中模拟BigQuery的分位数
我想在Hive中模拟BigQuery的分位数函数 数据集:1,2,3,4 BigQuery的查询结果将返回值2 选择nth2,分位数col1,3 但在蜂箱中: 选择百分位数1,0.5 我得了2.5分 注意:对于奇数记录,我得到了相同的结果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的udf功能?我想你要找的是百分位近似udf 提供配置单元中所有内置UDF的列表 百分位_可批准双列,p[,B] 返回数值列(包括组中的浮点类型)的近似第pth个百分位数。B参数以内存为代价控制近似精度。值越高,近似值越好,默认值为10000。当col中不同值的数量小于B时,这将给出一个精确的百分位值
分位数是一种统计近似值。将标准SQL与BigQuery结合使用时,类似情况称为近似分位数。如果Hive给了你一个精确的值,你为什么想要一个近似的中位数呢?谢谢Elliott的快速回复。对于使用近似中值的用例,我得到了更好的结果。据我所知,Hive中没有近似分位数函数。百分位数近似的结果不同,它取决于行数和B参数。但BigQuery查询结果是一致的。