2015-09-05 69 views
0

我需要一个关于猪联合的帮助:2数据集之间的联合使用不同模式

猪有可能在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; 

注:数据集的模式是不同的。

+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} 
相关问题