入门

安装

上传 JAR 文件和连接详细信息

  1. 从 AWS Glue 连接器 - GitHub 下载最新版本的连接器。

  2. 将连接器 neo4j-aws-glue-<version>.jar 文件上传到 Amazon S3 存储桶。

  3. 在 AWS Secrets Manager 中将 Neo4j 或 AuraDB 的连接详情以键/值对的形式存储,其中包括 user(用户)和 password(密码)。

  4. 记录/复制 Secret ARN,因为稍后在连接中使用该密钥时需要它。

本指南不使用环境文件中的命名(neo4j_user 和 neo4j_password),而是使用 user 和 password。

创建自定义连接器

在 AWS Glue 控制台中

  1. 选择 Create custom connector(创建自定义连接器)。

  2. 为连接器命名,例如 Neo4j-Connector-for-AWS-Glue。

  3. 在 Connector S3 URL 中提供上述 S3 存储桶中连接器的链接。

  4. 提供类名 org.neo4j.jdbc.Neo4jDriver。

  5. 提供以下 JDBC 基础 URL jdbc:neo4j+s://<aura>?enableSQLTranslation=true,以启用 JDBC 驱动程序内置的翻译功能,将 SQL 命令翻译为 Cypher®。

  6. 将 URL 参数分隔符设置为 &。

创建连接

只有在前一步创建了自定义连接器后才能创建连接。必须使用在 AWS Secrets Manager 中提供的 user 和 password 键/值对,因为这些属性是实际连接所必需的。

  1. 提供连接名称,例如 aws-glue-connection-to-neo4j-auradb。

  2. 在连接凭证类型中,选择 <default>(默认)。

  3. 在 AWS Secret 中,选择 Secret from this account(此账户的密钥)。

  4. 提供用于存储上述凭证的密钥名称。

  5. 展开 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

  1. 在 AWS Glue 控制台,选择 Visual ETL,为作业命名(例如 “Import data from Parquet on S3 into AuraDB”)。

  2. 从源列表中选择 Amazon S3,然后选择 S3 source type、S3 location 并 Browse to S3 以定位要导入的文件。

  3. 首先选择包含节点的 Parquet 文件。

  4. 选择 Infer schema(推断模式)。

  5. 在目标列表中选择 Neo4j-Connector-for-AWS-Glue。

  6. 为目标属性提供 aws-glue-connection-to-neo4j-auradb。

  7. 表名应设置为要导入的标签名称,例如 Movie。

  8. 将显示模式;若需要删除列,可添加 Transform - DropFields 步骤(或其他合适的转换)。如果这些数据来自另一个 Neo4j 数据库,则应删除 v$id。

  9. 为每组导入文件和表名添加流。对于节点,这些流可并行添加。

  10. 启动导入作业。

将关系导入 AuraDB/Neo4j

节点导入完成后即可导入关系。可以在导入节点的步骤之后将其添加为附加步骤(例如串行),或创建新的导入作业。

  1. 在 AWS Glue 控制台,选择 Visual ETL** 并为作业命名(例如 “Import relationship data from Parquet on S3 into AuraDB”)。

  2. 从源列表中选择 Amazon S3,随后选择 S3 source type → S3 location 并 Browse to S3 定位要导入的文件。

  3. 首先选择包含节点和关系的 Parquet 文件。

  4. 使用诸如 SQL Query 的转换器创建所需的输出模式,本例中为 `(v$person_id, roles, v$movie_id)`。

  5. 在目标列表中选择 Neo4j-Connector-for-AWS-Glue。

  6. 为目标属性提供 aws-glue-connection-to-neo4j-auradb。

  7. 表名应设置为(虚拟)关系表,例如 Person_ACTED_IN_Movie。

  8. 启动导入作业。

从 AuraDB/Neo4j 导出

  1. 在 AWS Glue 控制台,选择 Visual ETL,为作业命名,例如 Export data from AuraDB to Parquet on S3(从 AuraDB 导出数据到 S3 上的 Parquet)。

  2. 从 Sources 列表中选择 Neo4j-Connector-for-AWS-Glue。

  3. 为目标属性提供 aws-glue-connection-to-neo4j-auradb。

  4. 表名应设置为要导出的标签名称,例如 Movie。

  5. Data preview(数据预览)应显示数据样本。

  6. 浏览目标列表,选择 S3 source type、S3 location 并浏览至用于存储 Parquet 文件的 S3 location。

  7. 将显示模式;若需要删除列,可添加 Transform - DropFields 步骤(或其他合适的转换)。如果这些数据来自另一个 Neo4j 数据库,则应删除 v$id。

  8. 为每组导入文件和表名添加流。对于节点,这些流可并行添加。

  9. 启动导入作业。

© . This site is unofficial and not affiliated with Neo4j, Inc.