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 文件的路径。
  • neo4jConnectionSecretId:Neo4j 连接元数据的 Secret ID。这是 GCS 路径选项的替代选项。
  • 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://<BUCKET_NAME>/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 连接元数据的路径

后续步骤