PIG: столбцы в строки

У меня есть файл, содержащий это:

id_v^id_f^id_s1,id_s2,id_s3,id_s4
id_v1^id_f1^id_s2,id_s3,id_s4
id_v2^id_f2^id_s2,id_s1,id_s4

этот файл представляет собой CSV-файл с разделителями "^". я хочу нормализовать его таким образом, используя свинью:

id_v^id_f^id_s1
id_v^id_f^id_s2
id_v^id_f^id_s3
id_v^id_f^id_s4
id_v1^id_f2^id_s2
id_v1^id_f2^id_s3
id_v1^id_f2^id_s4
...

Может кто-нибудь помочь мне ?

С Уважением


person Firas kh    schedule 07.07.2015    source источник


Ответы (1)


Ok. Предположим, что это мой файл. Допустим, имя файла id_v.txt.

id_v^id_f^id_s1,id_s2,id_s3,id_s4
id_v1^id_f1^id_s2,id_s3,id_s4
id_v2^id_f2^id_s2,id_s1,id_s4

Ниже приведен код свиньи

A = load '/user/cloudera/inputfiles/id_v.txt' using PigStorage('^') as(v:chararray,f:chararray,data:chararray);
B = foreach A generate v,f,FLATTEN(TOKENIZE(data)) as data;
dump B; 

Ниже приведен O/P, созданный вышеуказанным кодом.

(id_v,id_f,id_s1)
(id_v,id_f,id_s2)
(id_v,id_f,id_s3)
(id_v,id_f,id_s4)
(id_v1,id_f1,id_s2)
(id_v1,id_f1,id_s3)
(id_v1,id_f1,id_s4)
(id_v2,id_f2,id_s2)
(id_v2,id_f2,id_s1)
(id_v2,id_f2,id_s4)
person Surender Raja    schedule 07.07.2015
comment
Спасибо @Surender. Спасибо все, что мне нужно. - person Firas kh; 08.07.2015