Hadoop 使用';合并';猪
我是Hadoop/猪的初学者 谁能告诉我两者的区别吗Hadoop 使用';合并';猪,hadoop,apache-pig,hdfs,Hadoop,Apache Pig,Hdfs,我是Hadoop/猪的初学者 谁能告诉我两者的区别吗 grunt> A = join A by $1, B by $1 using 'merge'; 和 grunt>A=以$1加入A,以$1加入B 我有两个文件1.txt和2.txt,其中包含以下数据 1.txt A 1 b3 C5 D 7 2.txt AA 1 BB 2 CC 4 DD 6 我希望输出像这样合并在一起 A 1 AA 1 BB 2 b3 CC 4 C5 DD 6 D 7 “使用“合并”会给我想要的输出吗 我试过了
grunt> A = join A by $1, B by $1 using 'merge';
和grunt>A=以$1加入A,以$1加入B 我有两个文件1.txt和2.txt,其中包含以下数据
1.txt
A 1
b3
C5
D 7 2.txt
AA 1
BB 2
CC 4
DD 6 我希望输出像这样合并在一起
A 1
AA 1
BB 2
b3
CC 4
C5
DD 6
D 7 “使用“合并”会给我想要的输出吗 我试过了,但是没有
您能告诉我这里缺少了什么吗。听起来您得到的是一个内部连接(数据集由一个公共键连接)而不是外部连接(这看起来像是您从所需输出中得到的) 使用关键字
FULL
表示您想要完全外部联接:
grunt> A = join A by $1 FULL, B by $1 using 'merge';
但是,如果两个数据集中的记录都具有相同的$0(请参见内部联接示例),则这可能会产生意外的结果。您可能还需要修改输出以删除两个数据集之间缺少的列
或者,如果只想将一个数据集附加到另一个数据集,然后进行排序,请使用UNION和ORDER BY运算符
grunt> U = UNION A, B;
grunt> OrderedU = ORDER U BY $1
看