入门
安装
上传 JAR 文件和连接详细信息
-
从 AWS Glue 连接器 - GitHub 下载最新版本的连接器。
-
将连接器
neo4j-aws-glue-<version>.jar文件上传到 Amazon S3 存储桶。 -
在 AWS Secrets Manager 中将 Neo4j 或 AuraDB 的连接详情以键/值对的形式存储,其中包括 user(用户)和 password(密码)。
-
记录/复制 Secret ARN,因为稍后在连接中使用该密钥时需要它。
|
本指南不使用环境文件中的命名(neo4j_user 和 neo4j_password),而是使用 user 和 password。 |
创建自定义连接器
在 AWS Glue 控制台中
-
选择 Create custom connector(创建自定义连接器)。
-
为连接器命名,例如
Neo4j-Connector-for-AWS-Glue。 -
在 Connector S3 URL 中提供上述 S3 存储桶中连接器的链接。
-
提供类名
org.neo4j.jdbc.Neo4jDriver。 -
提供以下 JDBC 基础 URL
jdbc:neo4j+s://<aura>?enableSQLTranslation=true,以启用 JDBC 驱动程序内置的翻译功能,将 SQL 命令翻译为 Cypher®。 -
将 URL 参数分隔符设置为
&。
创建连接
只有在前一步创建了自定义连接器后才能创建连接。必须使用在 AWS Secrets Manager 中提供的 user 和 password 键/值对,因为这些属性是实际连接所必需的。
-
提供连接名称,例如
aws-glue-connection-to-neo4j-auradb。 -
在连接凭证类型中,选择 <default>(默认)。
-
在 AWS Secret 中,选择 Secret from this account(此账户的密钥)。
-
提供用于存储上述凭证的密钥名称。
-
展开 Additional Options(附加选项),并以键值对形式提供以下额外参数。
键 |
属性 |
user(用户) |
${user} |
password |
${password} |
快速入门
以下快速入门演示如何使用 AWS Glue 连接器通过 Visual ETL Editor 将虚拟数据集导入,并将数据子集导出为存储在 S3 上的 Parquet 文件。快速入门假设您已按照“入门指南”安装连接器并配置了与数据库的连接,请相应地更改连接名称。
在 AuraDB/Neo4j 中创建蓝图模式
使用 Query 或 Browser 创建描述要导入的节点、关系和属性的蓝图模式。
CREATE (m:Movie{title:'The Matrix', released:1999})
CREATE (p:Person{name:'Keanu Reeves', born:'1964'})
CREATE (p)-[:ACTED_IN{roles: ['Neo']}]->(m)
将节点导入 AuraDB/Neo4j
-
在 AWS Glue 控制台,选择 Visual ETL,为作业命名(例如 “Import data from Parquet on S3 into AuraDB”)。
-
从源列表中选择 Amazon S3,然后选择 S3 source type、S3 location 并 Browse to S3 以定位要导入的文件。
-
首先选择包含节点的 Parquet 文件。
-
选择 Infer schema(推断模式)。
-
在目标列表中选择
Neo4j-Connector-for-AWS-Glue。 -
为目标属性提供
aws-glue-connection-to-neo4j-auradb。 -
表名应设置为要导入的标签名称,例如
Movie。 -
将显示模式;若需要删除列,可添加 Transform - DropFields 步骤(或其他合适的转换)。如果这些数据来自另一个 Neo4j 数据库,则应删除
v$id。 -
为每组导入文件和表名添加流。对于节点,这些流可并行添加。
-
启动导入作业。
将关系导入 AuraDB/Neo4j
节点导入完成后即可导入关系。可以在导入节点的步骤之后将其添加为附加步骤(例如串行),或创建新的导入作业。
-
在 AWS Glue 控制台,选择 Visual ETL** 并为作业命名(例如 “Import relationship data from Parquet on S3 into AuraDB”)。
-
从源列表中选择 Amazon S3,随后选择 S3 source type → S3 location 并 Browse to S3 定位要导入的文件。
-
首先选择包含节点和关系的 Parquet 文件。
-
使用诸如 SQL Query 的转换器创建所需的输出模式,本例中为 `(v$person_id, roles, v$movie_id)`。
-
在目标列表中选择
Neo4j-Connector-for-AWS-Glue。 -
为目标属性提供
aws-glue-connection-to-neo4j-auradb。 -
表名应设置为(虚拟)关系表,例如
Person_ACTED_IN_Movie。 -
启动导入作业。
从 AuraDB/Neo4j 导出
-
在 AWS Glue 控制台,选择 Visual ETL,为作业命名,例如 Export data from AuraDB to Parquet on S3(从 AuraDB 导出数据到 S3 上的 Parquet)。
-
从 Sources 列表中选择
Neo4j-Connector-for-AWS-Glue。 -
为目标属性提供
aws-glue-connection-to-neo4j-auradb。 -
表名应设置为要导出的标签名称,例如
Movie。 -
Data preview(数据预览)应显示数据样本。
-
浏览目标列表,选择 S3 source type、S3 location 并浏览至用于存储 Parquet 文件的 S3 location。
-
将显示模式;若需要删除列,可添加 Transform - DropFields 步骤(或其他合适的转换)。如果这些数据来自另一个 Neo4j 数据库,则应删除
v$id。 -
为每组导入文件和表名添加流。对于节点,这些流可并行添加。
-
启动导入作业。