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