hadoop pig:加入条件(例如tab1.COL1 LIKE(%tab2.col2%))

时间:2016-05-27 19:59:27

标签: hadoop join apache-pig

如何在PIG条件下实现连接? SQL等效示例:

       select * from tab1, tab2 where instr(t1.col1,t2.col1 ) > 1 ;
       select * from tab1, tab2 where f(t1.col1) =f(t2.col1)  ;

非常感谢你。 菲利普

2 个答案:

答案 0 :(得分:0)

截至目前,猪仅支持内部连接,外部连接和完全连接。第二个Join例子可以在Pig中实现,而不是在另一个中实现。以下是一个例子。

tab1 = LOAD 'file1' using PigStorage('|') using (col1:chararray,col2:chararray);
tab2 = LOAD 'file2' using PigStorage('|') using (col1:chararray,col2:chararray);
result = JOIN tab1 by col1, tab2 by col1;

答案 1 :(得分:0)

试试这个。

1

Cross_Table = CROSS tab1, tab2;
Filter_Table = FILTER Cross_Table BY NOT(STARTSWITH(tab1::col1, tab2::col1));

2。

Join_Table = JOIN tab1 BY f(col1) INNER JOIN, tab2 BY f(col1);