好的,我的points
是List<GeoPoint>
以下代码是使用java 8功能API编写的。
它获取点,为每个点计算其匹配的簇,然后将它们分组为ClusterKey
。最终我们最终得到Map<ClusterKey, List<GeoPoint>
这就是:
points.
parallelStream().unordered().
collect(groupingByConcurrent(Functions::calcClusterKey))
答案 0 :(得分:2)
sc.parallelize(points).groupBy(Functions.calcClusterKey).collect.toMap
对应关系是1:1。