我是猪拉丁语编程的新手,我有一个问题。
我们说我有以下两种关系(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的
答案 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)