减少Pig后的GROUP和COUNT

时间:2015-03-11 23:04:21

标签: hadoop apache-pig

我有一张表,我试图找到标识符的出现次数

我首先加载表

a = LOAD 'table' USING org.apache.hive.hcatalog.pig.HCatLoader(); 

然后减少列

b = FOREACH a GENERATE col1, col2, col3, col4;

我将结果分组到col1,因为它保存了我正在查看的ID

的ID
c = GROUP b BY col1;

然后计算每个分组下的元素数量

d = FOREACH c GENERATE COUNT(b), b.col1;

结果是

(1,{(111)})
(1,{(116)})
(2,{(118),(118)})
(2,{(122),(122)})
(2,{(125),(125)})
(1,{(134)})
(2,{(136),(136)})
(2,{(153),(153)})
(1,{(153)})

每行中的第二个元素是ID,重复发生的次数。我怎么能消除这个包,而只有计数和ID元组?

1 个答案:

答案 0 :(得分:0)

d = FOREACH c GENERATE COUNT(b),b.col1;

- >

d = FOREACH c GENERATE COUNT(b),group;