【问题标题】: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)
      

      【讨论】:

        猜你喜欢
        • 2016-03-13
        • 2010-11-26
        • 1970-01-01
        • 2014-10-13
        • 1970-01-01
        • 2016-12-31
        • 1970-01-01
        相关资源
        最近更新 更多