gpt4 book ai didi

hadoop - 如何用拉丁 pig 按地区分组结果?

转载 作者:可可西里 更新时间:2023-11-01 16:38:13 25 4
gpt4 key购买 nike

我是 Hadoop PIG 的新手,我有一个如下所示的数据集:

region_id        region         participation   score

1 SSA YES 10
1 SSA NO 22
2 MONTPELIER YES 15
....

我想计算每个地区的分数总和。我正在寻找的最终显示是:
REGION - SCORE,例如:

SSA - 32

我加载了我的数据:

data = load '/user/cloudera/datapi/pigdata.csv' using PigStorage (',') AS
(id:int, region:chararray, participation:chararray, score:int);

然后按地区对数据进行分组:

split_region = GROUP data by region;

最后:

RES= foreach split_region GENERATE SUM(data.score), data.region;

RES 变量包含每个区域的得分总和,但它显示该区域的所有出现情况,如下所示:

(32 , {SSA,SSA})

缺少的显示 (32, SSA) 的命令/指令是什么?

最佳答案

使用group代替data.region

RES = foreach split_region GENERATE SUM(data.score), group;

参见 here对于来源。当您使用 GROUP 运算符时,第一个字段名为“group”(不要将其与 GROUP 运算符混淆)并且与组键的类型相同。

关于hadoop - 如何用拉丁 pig 按地区分组结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47355962/

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