我们有以下示例数据,必须使用pig脚本将其转换为输出格式
<<示例TSV >>
Id rank Value
12324 1 1582
12324 2 1142
12324 4 1292
12324 5 1134
12325 1 1582
12325 2 1142
12325 3 1292
12325 4 1134
12325 5 1183
12326 1 1582
12326 2 1142
12326 3 1292
12326 4 1134
12326 5 1183我们需要比较每个id的每个等级的值( value列)。
输出需要以以下格式生成
Id1 Id2
value_rank1 value_rank1
value_rank2 value_rank2
value_rank3 value_rank3
... ........
value_rankn value_rankn例如
12324 12325 ..
1582 1582
1142 1142
1292
1292 1134
1134 1183对于特定id的任何缺失的排名,都必须有一个空值。
使用pig脚本有什么方法可以做到这一点吗?
发布于 2014-02-21 10:18:10
Pig按记录操作数据(基于行)。在ETL操作之后,它会在大多数情况下生成基于行的记录。
为了满足您的需求,我认为可以使用UDF(生成占位符)来生成如下内容:
12324, 1582, 1142, , 1292, 1134
12325, 1582, 1142, 1292, 1134, 1183然后在其他软件中(例如,使用Excel中的“粘贴特殊->转置”)将数据从行转置到列。
https://stackoverflow.com/questions/19844697
复制相似问题