在Pig中進行數據聚合操作通常要使用GROUP BY語句來對數據進行分組,然后再使用聚合函數來對每個分組進行計算。以下是一個簡單的示例:
假設有一個包含學生信息的數據集,字段包括學生姓名、年齡和分數,數據如下:
Alice, 18, 80
Bob, 20, 85
Alice, 19, 90
Bob, 21, 88
要求計算每個學生的平均分數,可以使用如下Pig Latin語句:
data = LOAD 'student_data.txt' USING PigStorage(',') AS (name:chararray, age:int, score:int);
grouped_data = GROUP data BY name;
average_score = FOREACH grouped_data GENERATE group AS name, AVG(data.score) AS avg_score;
DUMP average_score;
執行以上代碼后,會得到每個學生的平均分數:
(Alice, 85)
(Bob, 86.5)
在這個示例中,首先將數據按姓名進行分組,然后計算每個分組中分數的平均值,并輸出結果。