重要
旧查询联合文档已停用,可能不会更新。 此内容中提到的配置未经 Databricks 正式认可或测试。 如果 Lakehouse 联邦 支持源数据库,Databricks 建议改用它。
Neo4j 是一个本机图形数据库,它利用数据关系作为一流实体。 可以使用 neo4j-spark-connector 将 Azure Databricks 群集连接到 Neo4j 群集,该连接器为 RDD、DataFrame 和 GraphFrame 提供 Apache Spark API。 neo4j-spark-connector 使用二进制 Bolt 协议将数据传输至 Neo4j 服务器,并从 Neo4j 服务器传输数据。
本文介绍如何部署和配置 Neo4j,以及如何配置 Azure Databricks 以访问 Neo4j。
Neo4j 部署和配置
可以在各种云提供商上部署 Neo4j。
若要部署 Neo4j,请参阅官方 Neo4j 云部署 指南。 本指南假定 Neo4j 3.2.2。
将 Neo4j 密码从默认值更改(第一次访问 Neo4j 时会提示您进行修改),并修改 conf/neo4j.conf
以允许远程连接。
# 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
有关详细信息,请参阅 配置 Neo4j 连接器。
Azure Databricks 配置
安装两个库: neo4j-spark-connector 和 graphframe 作为 Spark 包。 有关说明,请参阅 库 指南。
使用这些 Spark 配置创建群集。
spark.neo4j.bolt.url bolt://<ip-of-neo4j-instance>:7687 spark.neo4j.bolt.user <username> spark.neo4j.bolt.password <password>
导入库并测试连接。
import 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]