PIG:在一组特定的列中安排多个记录

时间:2019-02-12 17:23:56

标签: hadoop apache-pig

我有一个数据如下的场景:

Customer ID | Customer Name | Customer Post Code |Relation
C1 | John | E6 1NQ | R1
C2 | Peter | WC2 8AD | R1
C3 | Emilia | PC81 7RE | R1
C4 | Jessica | NE24 5RE | R1

我必须使用PIG处理上述数据,并准备如下提取物:

Relation | Customer ID | Customer Name | Customer Post Code | Customer ID | Customer Name | Customer Post Code
R1 | C1 | John | E6 1NQ | C2 | Peter | WC2 8AD
R1 | C3 | Emilia | PC81 7RE | C4 | Jessica | NE24 5RE

我曾尝试在R1的输入表上进行分组依据,然后尝试使用FOREACH创建列,但这并没有帮助我。

1 个答案:

答案 0 :(得分:0)

我通过首先按RELATION对记录进行分组来解决此问题,然后使用枚举对分组的记录进行排名。 在此之后,我创建了两个关系,第一个关系与具有奇数编号记录的记录,第二个关系与具有偶数编号记录的记录。 在此之后,我对两个关系进行了FULL OUTER JOIN BY RELATION和Rank,然后生成了期望的输出