PIG:列成行
PIG : Columns into rows
我有一个文件包含这个:
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
...
谁能帮帮我?
此致
好的。假设这是我的 file.Lets 文件名是 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
下面是Pig代码
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)
我有一个文件包含这个:
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
...
谁能帮帮我?
此致
好的。假设这是我的 file.Lets 文件名是 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
下面是Pig代码
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)