Neo4j
Expérimental
La documentation sur la fédération des query héritées a été retirée et pourrait ne pas être mise à jour. Les configurations mentionnées dans ce contenu ne sont ni officiellement approuvées ni testées par Databricks. Si la Lakehouse Federation prend en charge votre base de données source, Databricks recommande d'utiliser cette dernière.
Neo4j est une base de données Graphe native qui exploite les relations de données comme entités de première classe. Vous pouvez connecter un cluster Databricks à un cluster Neo4j en utilisant le neo4j-spark-connector, qui offre des APIs Apache Spark pour RDD, DataFrame et GraphFrames. Le neo4j-spark-connector utilise le protocole binaire Bolt pour transférer des données vers et depuis le serveur Neo4j.
Cet article décrit comment déployer et configurer Neo4j, et configurer Databricks pour accéder à Neo4j.
Déploiement et configuration Neo4j
Vous pouvez déployer Neo4j sur différents fournisseurs de cloud.
Pour déployer Neo4j sur AWS EC2 en utilisant une AMI personnalisée, suivez les instructions de Hébergement de Neo4j sur EC2 sur AWS. Pour d’autres options, consultez le guide officiel de déploiement cloud de Neo4j. Ce guide suppose Neo4j 3.2.2 .
Modifiez le mot de passe Neo4j par rapport au default (vous devriez y être invité lors de votre première connexion à Neo4j) et modifiez conf/neo4j.conf pour accepter les connexions à distance.
# conf/neo4j.conf
# Bolt connector
dbms.connector.bolt.enabled=true
#dbms.connector.bolt.tls_level=OPTIONAL
dbms.connector.bolt.listen_address=0.0.0.0:7687
# HTTP Connector. There must be exactly one HTTP connector.
dbms.connector.http.enabled=true
#dbms.connector.http.listen_address=0.0.0.0:7474
# HTTPS Connector. There can be zero or one HTTPS connectors.
dbms.connector.https.enabled=true
#dbms.connector.https.listen_address=0.0.0.0:7473
Pour plus d'informations, voir Configuration des connecteurs Neo4j.
Configuration Databricks
Si votre cluster Neo4j est exécuté dans AWS et que vous souhaitez utiliser des IP privées, consultez le guide de peering de Virtual Private Cloud (VPC).
-
Installez deux bibliothèques : neo4j-spark-connector et GraphFrames en tant que packages Spark. Consultez le guide des bibliothèques pour obtenir des instructions.
-
Créez un cluster avec ces configurations Spark.
Bashspark.neo4j.bolt.url bolt://<ip-of-neo4j-instance>:7687
spark.neo4j.bolt.user <username>
spark.neo4j.bolt.password <password> -
Importez les bibliothèques et testez la connexion.
Scalaimport org.neo4j.spark._
import org.graphframes._
val neo = Neo4j(sc)
// Dummy Cypher query to check connection
val testConnection = neo.cypher("MATCH (n) RETURN n;").loadRdd[Long]