Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Join 在hadoop中连接文件A、B、C_Join_Hadoop_Apache Pig - Fatal编程技术网

Join 在hadoop中连接文件A、B、C

Join 在hadoop中连接文件A、B、C,join,hadoop,apache-pig,Join,Hadoop,Apache Pig,可能重复: 我做了一个基于hadoop的程序。 现在,我有三个文件A,B,C,我想加入它们,并遵循条件“A.one=B.one和A.two=C.one”;然后将结果存储到文件D中 我对pig略知一二,但它的连接不能满足此命令。实际上,在pig中,两步连接很容易: A=LOAD .. B=LOAD .. C=LOAD .. AB= JOIN A BY A.one,B BY B.One; D= JOIN AB BY A::two, C BY C.one; 我不明白。你说的“A.one”是什么意

可能重复:

我做了一个基于hadoop的程序。 现在,我有三个文件A,B,C,我想加入它们,并遵循条件“A.one=B.one和A.two=C.one”;然后将结果存储到文件D中


我对pig略知一二,但它的连接不能满足此命令。

实际上,在pig中,两步连接很容易:

A=LOAD ..
B=LOAD ..
C=LOAD ..

AB= JOIN A BY A.one,B BY B.One;
D= JOIN AB BY A::two, C BY C.one;

我不明白。你说的“A.one”是什么意思?我不知道如何准确地表达,它是这样的sql:从A,B,C中选择*其中A.one=B.one和A.two=C.otherone。我知道一些关于pig多文件连接的信息,但是它可以满足在关系中使用不同列和不同列数的要求。谢谢你的回复。事实上,我有三个以上的文件,如果我这样做,我会处理很多连接操作。你能给我其他的选择吗?当你要加入很多大文件时,你认为会发生什么?如果一个或多个文件很小,您可以使用“已复制”提示pig,它将使用关键字“已复制”将该表保存在内存中,但此函数只能满足条件A.one=B.one=C.one;但是,我想要一个不同的列,比如一、二。如上所述,A.1=B.1和A.2=C.1