猪加入两个关系只与加入伙伴

Pig join two Relations only with join partner

我是 Pig Latin 编程的新手,我有一个问题。

假设我有以下两个关系(A 和 B):

Relation A: http://i.stack.imgur.com/Aa5Rd.png

Relation B: http://i.stack.imgur.com/m467q.png

现在,应该连接关系,但前提是 A 中存在键 (id)。否则不会。所以结果应该是这样的:

关系 Result: i.stack.imgur.com/3elgh.png(我不能 post 超过 2 个链接)

我该如何解决?

我的方法 result = JOIN A BY id, B BY id; 因为它创建了与所有 id 和文本的结果关系: /

非常感谢您,

斯特凡诺斯

你的做法是对的。正如你提到的,我得到了正确的输出,但不确定为什么你没有得到输出。你能用下面的交叉检查你的 pigscript 吗?

输入1:

1
4
6

输入2:

1,peter
2,jay
3,dan
4,knut
5,Gnu
6,rafael
7,hans

PigScript:

A = LOAD 'input1' AS (id:int);
B = LOAD 'input2' USING PigStorage(',') AS (id:int,text:chararray);
C = JOIN A BY id,B BY id;
D = FOREACH C GENERATE A::id AS id,B::text as text;
DUMP D;

输出:

(1,peter)
(4,knut)
(6,rafael)