【发布时间】:2016-04-20 12:09:16
【问题描述】:
我正在尝试找到一种优化的方法来生成独特的协同定位配对列表。我希望使用一系列平面图和不同的查询来做到这一点,但我发现平面图在运行数百万条记录时并没有过度表现。我们将不胜感激地收到任何优化此功能的帮助。
数据集是 (geohash, id),我在 30 节点集群上运行它。
val rdd = sc.parallelize(Seq(("gh5", "id1"), ("gh4", "id1"), ("gh5", "id2"),("gh5", "id3"))
val uniquePairings = rdd.groupByKey().map(value =>
value._2.toList.sorted.combinations(2).map{
case Seq(x, y) => (x, y)}.filter(id =>
id._1 != id._2)).flatMap(x => x).distinct()
voutput = Array(("id1","id2"),("id1","id3"),("id2","id3"))
【问题讨论】:
标签: scala apache-spark optimization bigdata