两个数据集之间的联合具有不同的模式

时间:2015-09-05 14:23:26

标签: apache-pig

我需要一个关于猪联盟的帮助:

猪是否可以在具有不同模式的2个数据集之间进行联合。

示例:

A = LOAD '/user/hdfs/file1' AS (a:int, b:int); 
B = LOAD '/user/hdfs/file2' AS (c:int, d:int, e:chararray, f:float);
UNION ONSCHEMA A, B;

注意:数据集的架构不同。

1 个答案:

答案 0 :(得分:0)

参考:http://pig.apache.org/docs/r0.10.0/basic.html#union

输入:

file1:

1,1
2,2

<强> file2的:

1,1,a,1.0
2,2,b,2.0

猪脚本:

A = LOAD 'file1'  USING  PigStorage(',') AS (a:int, b:int);
B = LOAD 'file2'  USING  PigStorage(',') AS (c:int, d:int, e:chararray, f:float);

C = UNION ONSCHEMA A,B;

结果:

DUMP C:

(1,1,,,,)
(2,2,,,,)
(,,1,1,a,1.0)
(,,2,2,b,2.0)

DESCRIBE C:

C: {a: int,b: int,c: int,d: int,e: chararray,f: float}