【发布时间】:2016-03-31 20:18:50
【问题描述】:
问题:Pig Beginner- 下面是我的两个输入表
Table 1: Contain 3 columns (VID, TID and USID)
v1 TID101 US101
v2 TID102
v3 TID103
v4 TID104 US104
v5 US105
v6 US106
Table 2: Contain 3 columns (PID, TID, USID)
p1 TID101 US101
p2 TID102 US102
p3 TID103 US103
p4 TID104 US104
p5 TID105 US105
我想加入表 1 和 2 并得到如下输出:
Expected Output:
v1 TID101 US101 p1
v2 TID102 p2
v3 TID103 p3
v4 TID104 US104 p4
v5 US105 p5
我尝试了如下内连接:
a= JOIN table1 BY (TID, USID), table2 BY (TID, USID);
b= FOREACH a GENERATE table1::vID, table1::TID, table1::USID, table2::PID;
但我只得到以下输出:
Actual Output:
v1 TID101 US101 p1
v4 TID104 US104 p4
我可以尝试左外连接,但我觉得当我通过多个键加入时,两个键都被认为是强制加入的,我不能有“或”条件。如果 table1 记录包含 USID 或 TID,我正在尝试从 table2 获取 PID。我不确定我错过了什么,并且有兴趣了解达到预期输出的最佳方法。请帮忙!
【问题讨论】:
标签: join apache-pig