我有一个如下的Dataframe
Id linkedIn
1 [l1,l2]
2 [l5,l6,l3]
3 [l4,l5]
4 [l8,l10]
5 [l7,l9,l1]
如果我们看到第1行和第5行有共同的l1,那么这两行应该合并为id=1的一行。类似地,第2行和第3行有一个共同的l5,所以这两行应该合并为一行,id=2,第4行应该保持不变,因为它没有与其他行重复的内容。
我希望输出如下
Id linkedIn
1 [l1,l2,l7,l9]
2 [l4,l5,l6,l3]
4 [l8,l10]
我用的是spark 2.3
2条答案
按热度按时间5cnsuln71#
对于2行通用性,您可以尝试下面的代码。
输出:
3wabscal2#
另一种方法,虽然我也喜欢上面的方法,但还没有测试过,这个解决方案考虑了性能,添加了我自己的数据:
结果(对于这组数据):