猪数据转换

时间:2013-11-07 19:17:11

标签: apache-pig

我们有以下样本数据,必须使用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脚本有没有办法实现这个目的?

1 个答案:

答案 0 :(得分:0)

Pig按记录操作数据(基于行)。在ETL操作之后,它会为大多数情况生成基于行的记录。

根据您的要求,我认为可以使用UDF(生成占位符)来生成以下内容:

12324, 1582, 1142, , 1292, 1134
12325, 1582, 1142, 1292, 1134, 1183

然后将数据从基于行的数据转换为基于其他软件的列(例如,在Excel中使用“paste special - > transpose”)。