2
我有一个通用的关系的这样的:如何通过(b,a)过滤(a,b)关系?
DUMP A;
(a, b)
(a, c)
(a, d)
(b, a)
(d, a)
(d, b)
看到,有一对(A,B)和(B,A);但(d,b)没有一对。 我想过滤这些“不成对”的元组。
最终的结果应该是这样的:
DUMP R;
(a, b)
(a, d)
(b, a)
(d, a)
我怎么可以这样写对猪?
我可以用下面的代码来解决,但交叉操作太贵:
A_cp = FOREACH L GENERATE u1, u2;
X = CROSS A, A_cp;
F = FILTER X BY ($0 == $3 AND $1 == $2);
R = FOREACH F GENERATE $0, $1;
谢谢,我会尝试你的代码。 我能用下面的代码完成任务,但是交叉操作太贵了: A_cp = FOREACH A GENERATE u1,u2; X = CROSS A,A_CP; F = FILTER X BY($ 0 == $ 3 AND $ 1 == $ 2); R = FOREACH F生成$ 0,$ 1; – user2730009
@ user2730009内连接应该明显更便宜。 – mr2ert
它工作正常! Thx – user2730009