apache pig用逗号和空格加载数据(我该怎么做?)

ykejflvf  于 2021-07-13  发布在  Hadoop
关注(0)|答案(1)|浏览(476)

我的问题是:我想知道如何加载这些数据:
输入数据:
18岁(约翰、玛丽)
22(奥斯汀,阳光明媚)
78(理查德、爱丽丝)
87(约翰尼)
我想把这些数据加载到变量a中
所以我写这个: A = Load 'data' AS (age:int, couple:(husband:chararray, wife:chararray)); 但当我甩了一个球,结果是这样的:
(,)
(,)
(,)
(,)
但我想这样:
(18,(约翰、玛丽)
(22,(奥斯汀,阳光)
(78,(理查德,爱丽丝)
(87,(约翰尼)
我该怎么修?

d6kp6zgx

d6kp6zgx1#

请看这里:在Pig拉丁语,我不能加载数据作为多元组,请咨询
仅仅拥有一个单独列的普通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));

在这里,您明确表示希望以元组的形式加载数据。

相关问题