Pig只与加入合作伙伴加入两个关系

时间:2015-04-04 11:52:40

标签: hadoop join duplicates apache-pig

我是猪拉丁语编程的新手,我有一个问题。

我们说我有以下两种关系(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(我不能发布超过2个链接)

我如何解决这个问题?

我的方法 结果=加入一个BY ID,B BY ID; ,因为它与所有ID&创建了一个结果关系文本:/

非常感谢您提前,

Stefanos的

1 个答案:

答案 0 :(得分:0)

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

<强> INPUT1:

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)