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