我们有以下样本数据,必须使用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的每个等级的值(值列)。
需要以下列格式生成输出
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脚本有没有办法实现这个目的?
答案 0 :(得分:0)
Pig按记录操作数据(基于行)。在ETL操作之后,它会为大多数情况生成基于行的记录。
根据您的要求,我认为可以使用UDF(生成占位符)来生成以下内容:
12324, 1582, 1142, , 1292, 1134
12325, 1582, 1142, 1292, 1134, 1183
然后将数据从基于行的数据转换为基于其他软件的列(例如,在Excel中使用“paste special - > transpose”)。