Преобразование одной строки в несколько строк

#apache-pig

#apache-pig

Вопрос:

Не могли бы вы предоставить скрипт Pig для приведенного ниже запроса?

вот формат ввода. Ввод

 ID, Label  
122,a|b
215,q|b|c
214,Z|b|c
218,w|b|c
211,r|b|c
219,u|b
 

Ожидаемый результат

 122,a    
122,b
215,q
215,b
215,c
214,Z
214,b
214,c
218,w
218,b
218,c

...........
 

Спасибо,

Abhi

Комментарии:

1. Возможно, вы захотите объяснить свой результат и то, что вы уже пробовали. Например, вы не говорите, почему 211, 218, 219 должны быть исключены, просто они должны быть.

2. Я исправил это. Спасибо, что выделили это.

Ответ №1:

ОБОЗНАЧЬТЕ метку, она даст пакет, а затем СГЛАДИТ его, что даст вам столько строк, сколько кортежей в пакете. Пример кода

 inpt = LOAD '....' USING PigStorage(',') AS (ID: chararray, Label : chararray);
result = FOREACH inpt GENERATE ID, FLATTEN(TOKENIZE(Lable, '|'));

DUMP resu<