Google Cloud to Neo4j 模板

Google Cloud to Neo4j 模板可让您通过 Dataflow 作业将数据集导入 Neo4j 数据库,数据来源是 Cloud Storage 存储桶中托管的 CSV 文件。还可以让您在导入的各个步骤中操作和转换数据。您可以使用该模板进行首次导入和增量导入。

流水线要求

  • 正在运行的 Neo4j 实例
  • Cloud Storage 存储桶
  • 要导入的数据集,采用 CSV 文件形式
  • 要使用的作业规范文件

创建作业规范文件

作业规范文件由一个包含以下部分的 JSON 对象组成:

  • config:影响导入执行方式的全局标志。
  • sources:数据源定义(关系型)。
  • targets:数据目标定义(图表:节点/关系)。
  • actions:加载前/加载后操作。

如需了解详情,请参阅 Neo4j 文档中的创建作业规范文件

模板参数

参数 说明
jobSpecUri 作业规范文件的路径,该文件包含源和目标元数据的配置。
neo4jConnectionUri Neo4j 连接元数据 JSON 文件的路径。
optionsJson 可选:选项 JSON。使用运行时令牌。例如 {token1:value1,token2:value2}。默认值为空。
readQuery 可选:替换 SQL 查询。默认值为空。
inputFilePattern 可选:替换文本文件模式。例如 gs://your-bucket/path/*.json。默认值为空。
disabledAlgorithms 可选:要停用的算法的逗号分隔列表。如果此值设置为 none,则不会停用任何算法。请谨慎使用,因为已知默认停用的算法存在漏洞或性能问题。例如:SSLv3, RC4
extraFilesToStage 可选:用于将文件暂存在工作器中的 Cloud Storage 路径或 Secret Manager 密文,以逗号分隔。这些文件保存在每个工作器的 /extra_files 目录下。例如:gs://your-bucket/file.txt,projects/project-id/secrets/secret-id/versions/version-id

运行模板

控制台

  1. 转到 Dataflow 基于模板创建作业页面。
  2. 转到“基于模板创建作业”
  3. 作业名称字段中,输入唯一的作业名称。
  4. 可选:对于区域性端点,从下拉菜单中选择一个值。默认区域为 us-central1

    如需查看可以在其中运行 Dataflow 作业的区域列表,请参阅 Dataflow 位置

  5. Dataflow 模板下拉菜单中,选择 the Google Cloud to Neo4j template。
  6. 在提供的参数字段中,输入您的参数值。
  7. 点击运行作业

gcloud

在 shell 或终端中,运行模板:

gcloud dataflow flex-template run JOB_NAME \
    --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/Google_Cloud_to_Neo4j \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --parameters \
       jobSpecUri=JOB_SPEC_URI,\
       neo4jConnectionUri=NEO4J_CONNECTION_URI,\

请替换以下内容:

  • JOB_NAME:您选择的唯一性作业名称
  • VERSION:您要使用的模板的版本

    您可使用以下值:

  • REGION_NAME:要在其中部署 Dataflow 作业的区域,例如 us-central1
  • JOB_SPEC_URI:作业规范文件的路径
  • NEO4J_CONNECTION_URI:Neo4j 连接元数据的路径

API

如需使用 REST API 来运行模板,请发送 HTTP POST 请求。如需详细了解 API 及其授权范围,请参阅 projects.templates.launch

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch
{
   "launchParameter": {
     "jobName": "JOB_NAME",
     "parameters": {
       "jobSpecUri": "JOB_SPEC_URI",
       "neo4jConnectionUri": "NEO4J_CONNECTION_URI",
     },
     "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/Google_Cloud_to_Neo4j",
     "environment": { "maxWorkers": "10" }
  }
}

请替换以下内容:

  • PROJECT_ID:您要在其中运行 Dataflow 作业的 Google Cloud 项目的 ID
  • JOB_NAME:您选择的唯一性作业名称
  • VERSION:您要使用的模板的版本

    您可使用以下值:

  • LOCATION:要在其中部署 Dataflow 作业的区域,例如 us-central1
  • JOB_SPEC_URI:作业规范文件的路径
  • NEO4J_CONNECTION_URI:Neo4j 连接元数据的路径

后续步骤