【问题标题】:Apache Pig Load data with comma and space (How can I do?)Apache Pig 使用逗号和空格加载数据(我该怎么做?)
【发布时间】:2021-04-23 03:21:58
【问题描述】:

这是我的问题: 我想知道如何加载这些数据:

输入数据:
18(约翰,玛丽)
22(阳光明媚的奥斯汀)
78(理查德,爱丽丝)
87(约翰尼,)

我想将这些数据加载到变量 A

所以我写了这个:

A = Load 'data' AS (age:int, couple:(husband:chararray, wife:chararray));

但是当我转储 A 时,结果是这样的:
(,)
(,)
(,)
(,)

但我想要这样:
(18,(约翰,玛丽))
(22,(奥斯汀,阳光))
(78,(理查德,爱丽丝))
(87,(约翰尼,))
我该如何解决?

【问题讨论】:

    标签: hadoop apache-pig


    【解决方案1】:

    请看这里:In Pig latin, am not able to load data as multiple tuples, please advice

    可能值得拥有一个包含单独列的普通 CSV。 然后你可以像这样加载:

    A = LOAD data USING PigStorage(',') AS (age:int, person1:chararray, person2:chararray);
    
    B = FOREACH A GENERATE *, (person1, person2) AS couple:tuple(person1:chararray, person2:chararray);
    

    可以尝试将您的负载更改为:

    A = Load 'data' AS (age:int, couple:tuple(husband:chararray, wife:chararray));
    

    您明确表示要将数据作为元组加载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-16
      • 1970-01-01
      • 1970-01-01
      • 2022-12-09
      • 2012-05-26
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      相关资源
      最近更新 更多