私が次のものを持っているとしましょう
DATA = foreach INPUT {
//..
generate group, count(name) as total;
}
キーが名前でグループ化された関係になります
('mike', 'someprop', 10)
('mike', 'otherprop', 3)
('doug', 'xprop', 5)
...
そして、各名前のトップ 10 の合計を取得したい:
ALIAS = group DATA by name;
RESULT = foreach ALIAS {
SORTED = ORDER DATA by total desc;
TOP10 = LIMIT SORTED 10;
//doesn't work! can't have GROUP inside FOREACH
AGG = group TOP10 ALL;
TOPTOTAL = foreach AGG generate SUM(AGG.total);
generate group, TOPTOTAL;
}
内のリレーションの値 (SUM、COUNT、ETC) を計算するにはどうすればよいforeach
ですか? 現在GROUP ALL
、foreach 内で a を適用する方法はありません。