在Apache Pig中,分组操作主要通过 GROUP 操作符实现。GROUP 操作符用于按照指定的字段将数据集进行分组,以便对每个组应用聚合操作。以下是一个简单的例子:
-- 载入数据
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