-1

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

4

1 回答 1

1

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

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

于 2014-10-21T06:56:09.637 回答