【发布时间】:2018-08-18 03:39:51
【问题描述】:
假设我有 9 个唯一的数据集,它们以如下方式连接:
start end
----------
1 2
2 3
4 5
6 7
7 8
7 1
4 9
9 5
数据集表示节点图以及它们之间的链接。例如,给定的链接表示为两个集群:一个有 6 个节点,一个有 3 个节点。
CLUSTER 1 CLUSTER 2
1 --- 2 --- 3 4 --- 5
| \___ |
| \|
7 --- 6 9
|
|
8
我想要一个高效的算法将边缘聚集在一起,如下所示:
node cluster
-------------
1 1
2 1
3 1
4 2
5 2
6 1
7 1
8 1
9 2
问题是我有很多这样的边缘,而我目前的算法很慢。假设这些数据集在 Spark 中表示为 DataFrame,除了将它们剥离为 RDD 并像列表一样迭代它们之外,是否还有一种更像 SQL 的方式来实现这一点?
【问题讨论】:
-
可能想用graphX
标签: scala apache-spark apache-spark-sql