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 はアルファ段階にあり、貢献を歓迎します。GraphX に変更を送信したい場合は、Spark への貢献方法 を読んで、パッチをお送りください!

はじめに

GraphX を使い始めるには