已经提到过为 Giraph 应用程序使用自定义分区算法。但是在任何地方都没有明确给出。正如 Castagna 在如何为预凝胶分区图以最大化处理速度中指出的那样?,可能不需要这样的分区,因为 HashPartitioner 在大多数情况下本身就非常好。
为了最小化执行时间而“智能地”划分图的问题是一个有趣的问题,但它并不简单,它取决于您的数据和算法。您可能还会发现,在实践中,这不是必需的,随机分区已经足够好。
例如,如果您有兴趣探索类似 Pregel 的方法,可以查看 Apache Giraph 并尝试不同的分区技术。
但是,出于学习的目的,最好能看到活生生的例子,但据我所见,没有找到。例如,在 Giraph 中执行的正常 k 路分区算法(Kerninghan-Lin)或至少我应该实现的方向。
所有的谷歌结果都来自 Apache giraph 页面,其中只有函数的定义和使用它们的各种选项。