在Pig中进行数据聚合操作通常使用GROUPBY语句。以下是一个简单的示例:
假设有一个包含姓名和年龄的数据集,我们想要按姓名对数据进行分组,并计算每个姓名的平均年龄。
--加载数据集
data=LOAD'input.txt'USINGPigStorage(',')AS(name:chararray,age:int);
--按姓名分组并计算平均年龄
grouped_data=GROUPdataBYname;
result=FOREACHgrouped_dataGENERATEgroupASname,AVG(data.age)ASavg_age;
--输出结果
DUMPresult;
在上面的示例中,首先加载数据集,然后使用GROUPBY语句按姓名对数据进行分组。接着使用FOREACH语句计算每个分组的平均年龄,并将结果存储在一个新的关系中。最后使用DUMP语句将结果输出。
除了AVG函数外,Pig还提供了其他聚合函数,如SUM、MIN、MAX等,可以根据具体需求选择合适的函数进行数据聚合操作。