猪得到不同的行数

时间:2014-12-31 08:40:23

标签: count apache-pig distinct uniq

我有一个猪表(称为table1),包含许多重复项和多个列(称为col1,col2)

这是一个简单的例子

| col1 | col2 |
-----------------
|  111 | bbb |
|  111 | ccc |
|  111 | bbb |
|  222 | bbb |

我想得到与其外观计数不同的明确界限(比如在bash中使用uniq -c),结果将是:

| count |col1 | col2 |
-----------------
|  2 | 111 | bbb |
|  1 | 111 | ccc |
|  1 | 222 | bbb |

这样一个命令的语法是什么?

1 个答案:

答案 0 :(得分:2)

请尝试以下方法:

A = LOAD 'data'....;
GR = GROUP A by (col1,col2);
CNT = FOREACH GR GENERATE FLATTEN (group) AS (col1,col2) , COUNT(A) as cnt_col;
dump CNT;