玩Pig,我的输入文件是:
1, 4, 6
1, 2, 7, 9
2, 5, 1
1, 3, 5, 1
2, 6, 2, 8
每行的第一个值是id;行的其余部分只是唯一的值(每行可以有不同数量的列)。
我想将上述内容转换为:
1, 2, 4, 6, 7, 9, 3, 5, 1
2, 5, 1, 6, 2, 8
所以基本上是按id分组,然后展平其余的列并将其作为每行输出。
Pig在这里是正确的方法吗?我有办法在m/r中做到这一点,但我认为pig可能是这类事情的理想选择。
非常感谢您提供的任何提示
邓肯
ps我不关心值的顺序。
1条答案
按热度按时间tzdcorbm1#
未经测试,但我采用的一般方法是:获取一个包含id和一包值的变量,将其展平,使您只得到id和单个值的行,获取不同的行,然后按id分组。这将为每个id提供一包值,如果您想输出,可以将其转换为字符串。