使用PigLatin仅在Pig中使用不同的分隔符加载未编译的数据

时间:2015-06-25 21:58:09

标签: apache-pig

您好我正在尝试仅使用PigLatin将以下数据(包含不同的分隔符并且未被编译)加载到Pig中,而不使用Java编写数据。

输入:

1234 #one,#two,#three
5679 #one,#two
1234 #one

输出我要找的内容:

1234 #one
1234 #two
1234 #three
5678 #one
5678 #two
1234 #one

有什么想法吗?这在猪中甚至可能吗?非常感谢提前!

1 个答案:

答案 0 :(得分:1)

猪脚本:

A = LOAD 'a.csv' AS USING PigStorage(' ') (key:chararray, value:chararray);
B = FOREACH A GENERATE key, FLATTEN(TOKENIZE(value, ','));
DUMP B;

输入:a.csv:

1234 #one,#two,#three
5679 #one,#two
1234 #one

输出:DUMP B:

(1234,#one)
(1234,#two)
(1234,#three)
(5679,#one)
(5679,#two)
(1234,#one)