Casi d'uso di Neo4j e Spark Graphx
-
16-10-2019 - |
Domanda
Ho usato Neo4j per implementare un motore di raccomandazione di contenuti. Mi piace Cypher, e trovare database del grafico per essere intuitivo.
Guardando scalare fino a un insieme di dati più grande, io non sono sicuro No4J + Cypher sarà performante. Spark ha il progetto Graphx, che non ho usato in passato.
Qualcuno ha commutato da Neo4j a Spark Graphx? Fare i casi d'uso si sovrappongono, a parte la scalabilità? O, fa l'indirizzo Graphx un set problema completamente diverso da quello Neo4j?
Soluzione
Neo4j e Spark Graphx sono pensati per risolvere il problema a livello diverso e che sono complementari l'uno all'altro.
Possono essere collegati per estensione Mazerunner di Neo4j:
Mazerunner è un'estensione non gestito Neo4j e grafico distribuito elaborazione piattaforma che si estende Neo4j di eseguire l'elaborazione dei dati grafico grande posti di lavoro, mentre persistono i risultati al Neo4j.
Mazerunner utilizza un broker messaggio a distribuire i lavori di elaborazione grafico al modulo di Apache Graphx Spark. Quando un processo dell'agente viene inviato, un sottografo viene esportato da Neo4j e scritto per Apache Hadoop HDFS.
Dopo Neo4j esporta un sottografo per HDFS, un servizio Mazerunner separata per Spark è notificata per iniziare l'elaborazione di tali dati. il Mazerunner servizio sarà quindi avviare un algoritmo di elaborazione grafico distribuita utilizzando Scala e il modulo Graphx di Spark. L'algoritmo Graphx viene serializzato e spediti ad Apache Spark per l'elaborazione.
Una volta che il completamento del lavoro di Apache Spark, i risultati vengono scritti di nuovo a HDFS come un elenco di valori-chiave gli aggiornamenti di proprietà da applicare di nuovo a Neo4j.
Neo4j viene notificato che un elenco aggiornato proprietà è disponibile da Apache Spark su HDFS. Neo4j lotti importazioni i risultati e applica la aggiornamenti al grafico originale.
Dai un'occhiata a questo tutorial per avere un'idea su come combinare le due cose: http://www.kennybastani.com /2014/11/using-apache-spark-and-neo4j-for-big.html