2013-11-07 4 views
0

Мы имеем следующие выборочные данные, которые должны быть преобразованы в формат вывода с помощью сценария свиньюPig Data Transformation

< < Образец 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 

Нам необходимо сравнить значения (из значение столбца) для каждого идентификатора.

Выходной сигнал должен быть сформирован в следующем формате

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 

Должно быть пустое значение для любого недостающего ранга для определенного идентификатора.

Есть ли способ достичь этого при использовании сценария свиньи?

ответ

0

Свиньи манипулируют данными по записи (на основе строк). После операции ETL в большинстве случаев она создает запись на основе строк.

Для вашего требования, я думаю, что это возможно, что использовать UDF (для создания заполнителя), чтобы создать такие вещи, как:

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

А затем перенести данные из строки на основе в колонку основы в других программах (для Например, используйте «paste special -> transpose» в Excel).