我想在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
答案 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)