GraphX 是 Apache Spark 的图和图并行计算 API。

灵活性

无缝地与图和集合一起工作。

GraphX 在单个系统中统一了 ETL、探索性分析和迭代图计算。您可以 查看 相同的数据作为图和集合,转换连接 图与 RDD 高效地,并使用 Pregel API 编写自定义迭代图算法。

graph = Graph(vertices, edges)
messages = spark.textFile("hdfs://...")
graph2 = graph.joinVertices(messages) {
  (id, vertex, msg) => ...
}
在 Scala 中使用 GraphX

速度

与最快的专用图处理系统相当的性能。

GraphX 在性能方面与最快的图系统竞争,同时保留了 Spark 的灵活性、容错性和易用性。

端到端 PageRank 性能(20 次迭代,37 亿条边)

算法

从不断增长的图算法库中选择。

除了 高度灵活的 API 之外,GraphX 还附带了各种图算法,其中许多是由我们的用户贡献的。

  • PageRank
  • 连通分量
  • 标签传播
  • SVD++
  • 强连通分量
  • 三角形计数

社区

GraphX 是作为 Apache Spark 项目的一部分开发的。因此,它在每次 Spark 发布时都会进行测试和更新。

如果您对该库有任何疑问,请在 Spark 邮件列表 上提问。

GraphX 处于 alpha 阶段,欢迎贡献。如果您想向 GraphX 提交更改,请阅读 如何为 Spark 做贡献 并向我们发送补丁!

入门

要开始使用 GraphX

  • 下载 Spark。GraphX 作为模块包含在内。
  • 阅读 GraphX 指南,其中包含使用示例。
  • 如果您想在分布式模式下运行,请了解如何在 集群上部署 Spark。您也可以在多核机器上本地运行,无需任何设置。
最新消息

存档