猪脚本STRSPLIT

时间:2014-10-20 19:35:11

标签: hadoop mapreduce apache-pig latin

我的专栏的名字和姓氏由SPACE分隔。我想使用pig函数分成2个不同的列。我想到了STRSPLIT功能,但我不知道如何使用它。 有谁可以帮我解决这个简单的问题?

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情,以下示例代码 我在这里做的是什么 1.将每一行读为单列
2.使用空格作为分隔符应用STRSPLIT函数 3.将firstname和lastname存储到两个不同的列中

input.txt
Pearson Charles
James  Michael
Smith Linda

PigScript:
A = LOAD 'input.txt' AS line;
B = FOREACH A GENERATE FLATTEN(STRSPLIT(line,'\\s+',2)) AS (firstname:chararray,lastname:chararray);
C = FOREACH B GENERATE firstname,lastname;
DUMP C;

Output:
(Pearson,Charles)
(James,Michael)
(Smith,Linda)

查看此链接的更多信息
http://pig.apache.org/docs/r0.13.0/func.html#strsplit