-- 载入数据
A = LOAD 'input.txt' USING PigStorage(',') AS (name:chararray, age:int, salary:float);
-- 按照名字字段分组
B = GROUP A BY name;
-- 对每个组计算平均工资
C = FOREACH B GENERATE group AS name, AVG(A.salary) AS avg_salary;
-- 显示结果
DUMP C;
在上述例子中,GROUP A BY name; 将数据集 A 按照名字字段进行分组。然后,通过 FOREACH 和 GENERATE 对每个组进行聚合操作,计算平均工资。最后,使用 DUMP C; 显示结果。
在 GROUP 操作中,group 是一个特殊的关键字,表示分组的字段值。你可以根据需要选择其他字段进行分组。在分组后,你可以使用聚合函数(如 AVG、SUM、COUNT 等)对每个组进行计算。
需要注意的是,分组操作产生的结果是一个包含分组键和对应数据的元组。这意味着你可以在结果中访问分组键以及与每个键相关联的数据。
总体而言,GROUP 操作符是在Apache Pig中进行分组操作的关键工具,使得你能够方便地对数据进行分组并执行各种聚合操作。
转载请注明出处:http://www.zyzy.cn/article/detail/11094/Apache Pig