如何在Pig中组合数据集?

时间:2015-05-08 17:25:09

标签: apache-pig

我想在Pig中组合2个数据集,但对于如何操作却有点困惑。

说我有aliasA

qwe 0
rty 0
asd 0

aliasB

dfgg 0
dgfg 0

两者都有相同的列名,两者的column1为Name,而column2的列为id,这与主键或其他内容不同。

有没有办法简单地组合2套没有任何花哨的东西?完整的外连接将列数加倍,这是我不想要的。

基本上,我想要

qwe 0
rty 0
asd 0
dfgg 0
dgfg 0

1 个答案:

答案 0 :(得分:1)

查看UNION运算符,它完全符合您的要求。它将关系组合成一个,但在一个条件下:UNION中使用的所有关系必须具有已知的模式,根据您所说的不是您的问题。使用ONSCHEMA将联合基于命名字段。

aliasA = LOAD 'data1' AS (Name:chararray,id:int);
DUMP aliasA;
(qwe,0)
(rty,0)
(asd,0)

aliasB = LOAD 'data2' AS (Name:chararray,id:int);
DUMP aliasB;
(dfgg,0)
(dgfg,0)

X = UNION aliasA, aliasB;
DUMP X;
(qwe,0)
(rty,0)
(asd,0)
(dfgg,0)
(dgfg,0)