【问题标题】:PigLatin rename TuplePigLatin 重命名元组
【发布时间】:2013-11-15 08:48:41
【问题描述】:

我正在加载数据并创建一个元组:

data = LOAD 'file' USING PigStorage(';') AS (f1: chararray, f2: chararray);
t = FOREACH data GENERATE TOTUPLE(f1, f1) as t;

稍后我想重命名元组,这样我就有了

t: (f3: chararray, f4: chararray)

有没有可能?

【问题讨论】:

    标签: apache-pig datastax-enterprise datastax


    【解决方案1】:

    您可以像为基本数据类型一样为复杂数据类型提供模式:

    grunt> data = LOAD 'file' USING PigStorage(';') AS (f1: chararray, f2: chararray);
    grunt> t = FOREACH data GENERATE TOTUPLE(f1, f1) as t;
    grunt> DESCRIBE t;
    t: {t: (f1: chararray,f1: chararray)}
    grunt> t = FOREACH t GENERATE t AS t:tuple(f3:chararray, f4:chararray);
    grunt> DESCRIBE t;
    t: {t: (f3: chararray,f4: chararray)}
    

    如果您愿意,可以省略 tuple 关键字:

    grunt> t = FOREACH t GENERATE t AS t:(f5:chararray, f6:chararray);
    grunt> DESCRIBE t;
    t: {t: (f5: chararray,f6: chararray)}
    

    【讨论】:

      猜你喜欢
      • 2022-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-31
      • 2021-06-09
      • 2023-03-29
      • 2017-07-02
      • 1970-01-01
      相关资源
      最近更新 更多