0
這似乎應該是一件簡單的事情,但我並不確定如何去做。在Pig中執行一個組後,我只需要包中的數字元素(即刪除組/鍵元素),以便可以對數值進行求和。Apache Pig從包中移除組元素
所以,我怎樣才能從這個去:
(Key1, {(Key1, 10})
(Key2, {(Key2, 5), (Key2, 15)})
要這樣:
(Key1, {(10})
(Key2, {(5), (15)})
這似乎應該是一件簡單的事情,但我並不確定如何去做。在Pig中執行一個組後,我只需要包中的數字元素(即刪除組/鍵元素),以便可以對數值進行求和。Apache Pig從包中移除組元素
所以,我怎樣才能從這個去:
(Key1, {(Key1, 10})
(Key2, {(Key2, 5), (Key2, 15)})
要這樣:
(Key1, {(10})
(Key2, {(5), (15)})
如果要總結基於每個鍵的值,然後用下面的方法
input.txt
key1,10
key2,5
key2,15
Pigscript:
A = LOAD 'inpput.txt' USING PigStorage(',') AS(key:chararray,value:int);
B = GROUP A BY key;
C = FOREACH B GENERATE group,SUM(A.value);
DUMP C;
輸出:
(key1,10)
(key2,20)
如果你想只保留值內袋,然後替換這一塊上面的 'C'。
C = FOREACH B GENERATE group,A.value;
DUMP C;
輸出:
(key1,{(10)})
(key2,{(5),(15)})