Hadoop 如何用pig拉丁语按地区分组结果?
我是Hadoop PIG的新手,我有一个如下的数据集:Hadoop 如何用pig拉丁语按地区分组结果?,hadoop,dataset,bigdata,apache-pig,Hadoop,Dataset,Bigdata,Apache Pig,我是Hadoop PIG的新手,我有一个如下的数据集: region_id region participation score 1 SSA YES 10 1 SSA NO 22 2 MONTPELIER YES 15 .... 我
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)
的缺少命令/指令是什么?使用组
代替数据。区域
RES = foreach split_region GENERATE SUM(data.score), group;
有关来源,请参阅。使用“组”操作符时,
第一个字段名为“group”(不要将其与group operator混淆),并且与group key的类型相同。group operator用于将具有类似key的所有记录放入同一个包中。这有助于我们对列执行聚合。非常感谢!你能解释一下组的用法吗?