我有一些数字来描述第一组整数和第二组整数之间的连接。例如:
nav ul li:hover ul {
display: block;
}
然后按如下方式加载我的数据,并将其分组:
1,2
3,4
5,6
5,7
6,8
然后产生一个包含每个第一个整数及其一级连接的包:
data = load 'data.csv' as integer_1, integer_2;
grouped = group data by integer_1;
grouped_numbers = foreach grouped generate group as node, data.integer_2 as connection;
然后,我想对groups_numbers包进行自联接,以便为每个第一级和第二级连接提供结果的第一个整数。在这种情况下,那将是:
(1,{(2)})
(3,{(4)})
(5,{(6),(7)})
(6,{(8)})
因为5连接到6,连接到8,所以8是6的二级连接。如何在Pig中实现它?
答案 0 :(得分:0)
首先加入:
joined = join data1 by int_2, data2 by int_1
其中data1和data2是相同的集合(在此示例中为data
的副本)。
然后按第一个字段分组。内袋将与“'组”有所有连接,可能不止一次。因此,如果你只是一个独特的元素,你可能需要在内袋上有一个独特的。
(通过Pig邮件列表回答)