gpt4 book ai didi

hadoop - Pig Latin 中的百分位数计算

转载 作者:可可西里 更新时间:2023-11-01 14:26:07 24 4
gpt4 key购买 nike

我正在尝试使用 Pig 计算百分位数。我需要使用属性对数据进行分组,并根据销售额计算组中每个元组的百分位数。

我发现没有内置的 Pig 函数可以执行此操作。想知道以前是否有人遇到过类似的问题可以帮助我。

最佳答案

如 JaiPrakash 所述,您可以使用 UDF StreamingQuantile来自 Apache DataFu图书馆。由于我已经准备好示例,因此我将其复制到此处。

输入

item1,234
item1,324
item1,769
item2,23
item2,23
item2,45

PIG 脚本

register datafu-1.2.0.jar;
define Quantile datafu.pig.stats.StreamingQuantile('0.0','0.5','1.0');
data = load 'data' using PigStorage(',') as (item:chararray, value:int);
quantiles = FOREACH (GROUP data by item) GENERATE group, Quantile(data.value);
dump quantiles;

输出

(item1,(234.0,324.0,769.0))
(item2,(23.0,23.0,45.0))

关于hadoop - Pig Latin 中的百分位数计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23015725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com