Frage

Ich habe NEO4J verwendet, um eine Inhaltsempfehlungs -Engine zu implementieren. Ich mag Cypher und finde Grafikdatenbanken, um intuitiv zu sein.

Bei der Skalierung auf einen größeren Datensatz bin ich nicht zuversichtlich, dass No4J + Cypher performant sein wird. Spark hat das Graphx -Projekt, das ich in der Vergangenheit nicht verwendet habe.

Hat jemand von NEO4J zu Spark Graphx gewechselt? Überschneiden sich die Anwendungsfälle abgesehen von der Skalierbarkeit? Oder adressiert Graphx einen völlig anderen Problemsatz als Neo4J?

War es hilfreich?

Lösung

NEO4J und Spark Graphx sind für das Problem der Probleme auf unterschiedlichem Niveau gedacht und sind kostenlos zueinander.

Sie können durch die Mazerunner -Erweiterung von Neo4j verbunden werden:

Mazerunner ist eine nicht verwaltete Erweiterung und verteilte Graph -Verarbeitungsplattform von NEO4J, die NEO4J auf Big Data -Graph -Verarbeitungsjobs ausgeht und gleichzeitig die Ergebnisse an NEO4J zurückhält.

Mazerunner verwendet einen Nachrichtenbroker, um Diagrammverarbeitungsjobs auf das Graphx -Modul von Apache Spark zu verteilen. Wenn ein Agentenjob versandt wird, wird ein Untergraphen aus NEO4J exportiert und an Apache Hadoop HDFS geschrieben.

Nach dem Exportieren von NEO4J einen Untergraphen in HDFs wird ein separater Mazerunner -Dienst für Spark benachrichtigt, um diese Daten zu verarbeiten. Der Mazerunner -Dienst startet dann einen verteilten Graph -Verarbeitungsalgorithmus mit dem Graphx -Modul von Scala und Spark. Der Graphx -Algorithmus wird serialisiert und zur Verarbeitung in Apache Spark versandt.

Sobald der Apache Spark-Job abgeschlossen ist, werden die Ergebnisse als Schlüsselwertliste von Eigenschaftenaktualisierungen, die auf NEO4J angewendet werden sollen, an HDFS zurückgeschrieben.

NEO4J wird dann mitgeteilt, dass eine Immobilien -Update -Liste bei Apache Spark auf HDFS verfügbar ist. NEO4J -Batch importiert die Ergebnisse und wendet die Updates auf das Originalgraphen zurück.

Schauen Sie sich dieses Tutorial an, um eine Idee zu erhalten, wie Sie die beiden kombinieren können:http://www.kennybastani.com/2014/11/using-apache-spark-and-neo4j-for-big.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top