【问题标题】:Splitting string into a new line in apache-pig将字符串拆分为 apache-pig 中的新行
【发布时间】:2023-01-16 12:40:23
【问题描述】:
我想将数据集中由反斜杠 (/) 连接的字符串拆分为新行。
示例数据集是:
(David Jones / John Smith)
我希望结果是:
(David Jones)
(John Smith)
我写的代码是:
A = FOREACH data GENERATE FLATTEN(STRSPLIT(name,'/',2));
DUMP A;
但是我在终端中得到的结果是:
(David Jones, John Smith)
【问题讨论】:
标签:
hadoop
mapreduce
apache-pig
【解决方案1】:
STRSPLIT 在同一行中创建一个元组。展平它会把它折叠起来。
我建议尝试不展平
【解决方案2】:
您应该使用 TOKENIZE 而不是 STRSPLIT
代码:
A = LOAD 'input.txt' AS (name:chararray);
B = FOREACH A GENERATE FLATTEN(TOKENIZE(name,'/'));
DUMP B;
input.txt的内容:
David Jones/John Smith
输出:
(David Jones)
(John Smith)