如何找出GROUP中有多少个元组

时间:2017-07-05 16:06:04

标签: apache apache-pig

这是我的输入

10001 AMERICAN EXPRESS,TX,Y 10001 BOFA,IL,N 10001 CHASE,NJ,Y 10002 CHASE,IL,Y 10002 BOFA,TX,Y 10002 AMERICAN EXPRESS,NJ,Y

10001, {(AMERICAN EXPRESS,TX,Y),(BOFA,IL,N),(CHASE,NJ,Y)}
10002, {(CHASE,IL,Y),(BOFA,TX,Y)}

我必须将我的使用密钥分组 中间产出

10001,{(AMERICAN EXPRESS,TX,Y),(BOFA,IL,N),(CHASE,NJ,Y)} 10002,{(CHASE,IL,Y),(BOFA,TX,Y)}

<script type="text/javascript">
            $(document).ready(function(){
$("p").click(function(){
    if($(this).hasClass("flag")){
        if($(this).parent().hasClass("selected")){
            alert("flag");
        }
            else{}
        }
    else{}
    });
});   
        </script>

然后我必须找出每个组中有多个键有多个元组。

1001,count(元组)&gt; 1 - 计数-3 1002,计数(元组)> 1 - 计数2

有人可以帮帮我吗。

1 个答案:

答案 0 :(得分:0)

在第二个字段上计算COUNT以获取分组后的计数,并过滤所有具有计数&gt;的组1。

A = LOAD 'data.txt' USING PigStorage(',') AS (f1:int,f2:chararray,f3:chararray,f4:chararray);
B = GROUP A BY f1;
C = FOREACH B GENERATE group,COUNT(f2) AS Total;
D = FILTER C BY (Total > 1);
DUMP D;