所以我有(firstname, list of surnames)
个键值对。由此,我可以轻松地创建(firstname, surname)
键值对以及(surname, list of firstnames)
键值对。但是,我需要(firstname, firstname)
键-值对,用于具有相同姓氏的人。你知道吗
我现在解决这个问题的方法是将一个函数传递给flatMap
函数,该函数将(surname, list of firstnames)
作为输入,并通过遍历姓氏的名字列表返回(firstname, firstname)
。但是,我注意到spark不能正确地将我的程序与此并行。我想知道这个结果是否只有通过使用map
和join
函数才可能,也就是说,不需要我们用flatMap
为此编写特殊函数?你知道吗
换句话说,这是我输入的一个例子
(FirstName1, [Surname1, Surname2, Surname3]),
(FirstName2, [Surname2, Surname4]),
(FirstName3, [Surname5, Surname6]),
(FirstName4, [Surname6, Surname7]),
(FirstName5, [Surname1, Surname4])
对此,我们应该有以下输出
(FirstName1, FirstName2),
(FirstName2, FirstName1),
(FirstName2, FirstName5),
(FirstName3, FirstName4),
(FirstName4, FirstName3),
(FirstName5, FirstName1),
(FirstName5, FirstName2)
flatMap
到(surname, firstname)
对,然后groupByKey
?你知道吗相关问题 更多 >
编程相关推荐