質問

NEO4Jを使用して、コンテンツ推奨エンジンを実装しました。私はcypherが好きで、グラフデータベースが直感的であることを見つけます。

より大きなデータセットへのスケーリングを見ると、NO4J + Cypherがパフォーマンスが発生するとは確信していません。 SparkにはGraphXプロジェクトがありますが、これは過去には使用していませんでした。

Neo4JからSpark GraphXに切り替えた人はいますか?スケーラビリティは別として、ユースケースは重複していますか?または、GraphXはNEO4Jとはまったく異なる問題セットに対応していますか?

役に立ちましたか?

解決

Neo4JとSpark GraphXは、異なるレベルで問題を解決するためのものであり、互いに無料です。

Neo4JのMazerunner拡張機能によって接続できます。

Mazerunnerは、NEO4JがNEO4Jを拡張してビッグデータグラフ処理ジョブを拡張し、結果をNEO4Jに戻しながら、分散グラフ処理プラットフォームであるNEO4JであるNEO4Jです。

Mazerunnerはメッセージブローカーを使用して、グラフ処理ジョブをApache SparkのGraphXモジュールに配布します。エージェントジョブが派遣されると、サブグラフがNeo4Jからエクスポートされ、Apache Hadoop HDFSに書き込まれます。

Neo4JがサブグラフをHDFSにエクスポートした後、Sparkのための別のMazerunnerサービスがそのデータの処理を開始するように通知されます。 Mazerunnerサービスは、ScalaとSparkのGraphXモジュールを使用して、分散グラフ処理アルゴリズムを開始します。 GraphXアルゴリズムはシリアル化され、処理のためにApache Sparkに発送されます。

Apache Sparkジョブが完了すると、結果は、Neo4Jに適用されるプロパティ更新のキー価値リストとしてHDFSに書き戻されます。

NEO4Jは、HDFSのApache Sparkからプロパティアップデートリストが利用可能であることを通知されます。 NEO4Jバッチは結果をインポートし、更新を元のグラフに戻します。

このチュートリアルをチェックして、2つを組み合わせる方法についてのアイデアを取得します。http://www.kennybastani.com/2014/11/using-apache-spark-and-neo4j-for-big.html

ライセンス: CC-BY-SA帰属
所属していません datascience.stackexchange
scroll top