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

灵活性

无缝地处理图和集合。

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

graph = Graph(顶点, 边)
messages = spark.textFile("hdfs://...")
graph2 = graph.joinVertices(messages) {
  (id, 顶点, 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,如果您想以分布式模式运行。 您也可以在没有任何设置的情况下在多核计算机上本地运行。
最新消息

存档