【问题标题】:How to findout how many number of tuples are there in a GROUP如何找出一个组中有多少个元组
【发布时间】:2017-07-05 16:06:04
【问题描述】:

这是我的意见

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
10001 BOFA,IL,N
10001 CHASE,NJ,Y
10002 CHASE,IL,Y
10002 BOFA,TX,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)}

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

1001, count(tuples)>1 - count -3
1002, Count(tuples)>1 - count 2

谁能帮帮我。

【问题讨论】:

    标签: apache-pig


    【解决方案1】:

    第二个字段上的 COUNT 以获取分组后的计数并过滤所有计数 > 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; 
    

    【讨论】:

      猜你喜欢
      • 2013-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      相关资源
      最近更新 更多