(ABC,****,tool1,12)
(ABC,****,tool1,10)
(ABC,****,tool1,13)
(ABC,****,tool2,101)
(ABC,****,tool3,11)
以上是输入数据
以下是我的猪数据集。
架构是:用户名,IP,工具,持续时间
我想添加相同工具的持续时间
输出
(ABC,****,tool1,35)
(ABC,****,tool2,101)
(ABC,****,tool3,11
答案 0 :(得分:1)
使用GROUP BY并在持续时间上使用SUM。
A = LOAD 'data.csv' USING PigStorage(',') AS (Username:chararray,ip:chararray,tool:chararray,duration:int);
B = GROUP A BY (Username,ip,tool);
C = FOREACH B GENERATE FLATTEN(group) AS (Username,ip,tool),SUM(A.duration);
DUMP C;