Hadoop には、次のようなものがたくさんあります:
(item_id,owner_id,counter)
- 重複する可能性がありますが、常にitem_id
同じowner_id
です!
counter
for eachの SUM を取得したいitem_id
ので、次のスクリプトを作成します。
alldata = LOAD '/path/to/data/*' USING D; -- D describes the structure
known_items = FILTER alldata BY owner_id > 0L;
group_by_item = GROUP known_data BY (item_id);
data = FOREACH group_by_item GENERATE group AS item_id, OWNER_ID_COLUMN_SOMEHOW, SUM(known_items.counter) AS items_count;
問題は、FOREACH
私が取りたい場合known_items.owner_id
- それは grouped の合計を持つタプルになるということitem_id
です。最初の所有者を取得する最も効率的な方法は何ですか?