给出具有两个字段的元组: (X,Y)
根据字段x或字段y的公共值将它们组合在一起。
例如,给定:
(1,a)
(2,a)
(2,b)
(3,c)
(3,d)
如果操作正确,这将导致列表分为两组。
组1:
(1,a)
(2,a)
(2,b)
组2:
(3,c)
(3,d)
我在想这样的事情:
a = LOAD 'givenTuples' using PigStorage(",");
b = GROUP a by $0;
matchleft = foreach b {
--join $1 of b tuples with $0 of a;
}
但是不能在嵌套的foreach中使用连接。我猜这个问题无法在没有未知量的map-reduced的Map-reduce中解决。