GraphX解释

时间:2015-09-11 12:39:07

标签: graph

我在Spark上有几个与GraphX相关的基本问题 是否有资源可以帮助我理解GraphX如何在幕后工作 - 如何完成并行化 - 图表是如何分区的 - 可以在GraphX中实现任何图算法,还是只有可以实现的特定问题 - 例如 - 对于二分图 - 我们可以使用路径增强等编写匹配算法

  • 我有GraphX的基本工作知识 - 以及那里提供的方法和操作符,我使用Scala处理了示例中的基本问题。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:3)

(答案是由我提供的 - Michal Malak - 即将出版的书的作者 - GraphX in Action - Manning Press)

这些是很好的问题,我应该确保在书中解决这些问题

GraphX的三个主要注意事项: 1.它是图形处理,而不是图形数据库(书中已经提到过这个) 2.它适用于SIMD风格执行模型中的大规模并行顶点到顶点通信。它不适用于经典的图形算法,这就是为什么第6章的实现不适合GraphX的原因 3.一个肮脏的小秘密是,虽然有API控件来分割顶点(PartitionStrategy),但边总是随机分区。最糟糕的是,边和顶点是独立分区的,因此数据局部性的所有机会都会丢失。

然而,GraphX内部有一些内在的意外优化,即每条边都有到顶点的路由信息​​。