GraphXはApache Sparkのグラフおよびグラフ並列計算のためのAPIです。

柔軟性

グラフとコレクションの両方をシームレスに扱えます。

GraphXはETL、探索的分析、および反復グラフ計算を単一のシステム内に統合します。同じデータをグラフとコレクションの両方として表示でき、RDDを使用してグラフを効率的に変換および結合し、Pregel APIを使用してカスタム反復グラフアルゴリズムを作成できます。

graph = Graph(頂点, 辺)
メッセージ = spark.textFile("hdfs://...")
graph2 = graph.joinVertices(メッセージ) {
  (id, 頂点, msg) => ...
}
ScalaでのGraphXの使用

スピード

最も高速な特殊グラフ処理システムと同等の性能。

GraphXは、Sparkの柔軟性、フォルトトレランス、使いやすさを維持しつつ、最も高速なグラフシステムと同等の性能を発揮します。

エンドツーエンドのPageRankパフォーマンス (20回の反復、3.7Bの辺)

アルゴリズム

増え続けるグラフアルゴリズムライブラリーから選択できます。

非常に柔軟なAPIに加えて、GraphXにはさまざまなグラフアルゴリズムが用意されており、その多くはユーザーの皆様の貢献によるものです。

  • PageRank
  • 連結成分
  • ラベル伝播
  • SVD++
  • 強連結成分
  • 三角形の個数

コミュニティ

GraphXはApache Sparkプロジェクトの一環として開発されています。そのため、Sparkの各リリースごとにテストされ、更新されます。

このライブラリーに関する質問があれば、Sparkのメーリングリストで尋ねてください。

GraphXはアルファ版で、貢献を歓迎しています。GraphXに変更を送信したい場合は、Sparkへの貢献方法を読み、パッチを送信してください!

入門

GraphXを始めましょう