我正在运行一个spark-graphx-pregel算法,其中顶点是纬度/经度的交点坐标,边是路段-一个道路网络。为了便于讨论,让我们假设在运行算法时跨顶点的消息负载是一致的。
我想通过提供更好的分区来提高性能。我的第一个努力是创造一个 PartitionStrategy
基于源坐标聚类的边缘分割算法。我用了spark-means算法。然后,我意识到,虽然这在聚类欧几里德点方面做得很好,但在负载平衡顶点方面却做得很差——聚类大小差别很大。
在野外有凝聚聚类技术可以找到一个近似的解决方案。但是,既然我已经在spark中,有没有一个实现可以为一些k生成(大约)相同大小的集群?或者,有没有一种方法是我在使用内置的mllib工具时没有发现的?
1条答案
按热度按时间pxq42qpu1#
在这里您可以找到spark目前支持的所有聚类算法。