重要
本文档已过时,将来可能不会更新。 此内容中提及的产品、服务或技术未经 Databricks 官方认可或测试。
Neo4j 是一个利用数据关系作为第一类实体的本机图形数据库。 可以使用 neo4j-spark-connector(为 RDD、DataFrame 和 GraphFrames 提供 Apache Spark API)将 Azure Databricks 群集连接到 Neo4j 群集。 neo4j-spark-connector 使用二进制 Bolt 协议将数据传输到 Neo4j 服务器以及从其传输数据。
本文介绍如何部署和配置 Neo4j,以及如何配置 Azure Databricks 以访问 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 连接器。
安装两个库(neo4j-spark-connector 和 graphframes)作为 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]