在加入猪的时候" OR"条件是否有效?

时间:2017-09-16 18:31:18

标签: hadoop apache-pig

我想在PIG SCRIPT中实现以下SQL语句

表1a,b,c,d列 表2 w,x,y,z列

Select t.a,t.b,t.c,t.d from Table1 t
Join Table2 tab on (t.a=tab.w or t.b=tab.x)

1 个答案:

答案 0 :(得分:0)

你可以使用两个连接和union来实现这个目的。将两个数据集加载到关系A和B中。通过在第一个条件ta = tab.w上连接来创建一个新关系C.通过在第二个条件tb上连接来创建另一个新关系D. = tab.x.UNION C AND D.假设所有数据类型为int。

A = LOAD 'data1.txt' USING PigStorage(',') AS (a:int,b:int,c:int,d:int);
B = LOAD 'data2.txt' USING PigStorage(',') AS (w:int,x:int,y:int,z:int);
C = JOIN A BY A.a,B BY B.w;
D = JOIN A BY A.b,B BY B.x;
E = UNION C,D;
DUMP E;