BigQuery to MongoDB 模板

BigQuery to MongoDB 模板是一种批处理流水线,可从 BigQuery 读取行数据并将其作为文档写入 MongoDB。目前,每一行数据都被存储为一个文档。

流水线要求

  • 源 BigQuery 表必须存在。
  • 应该能够从 Dataflow 工作器机器访问目标 MongoDB 实例。

模板参数

必需参数

  • mongoDbUri:MongoDB 连接 URI,格式为 mongodb+srv://:@
  • database:存储集合的 MongoDB 数据库。例如 my-db
  • collection:MongoDB 数据库中集合的名称。例如 my-collection
  • inputTableSpec:要读取的 BigQuery 表。例如 bigquery-project:dataset.input_table

运行模板

控制台

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

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

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

gcloud

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

  gcloud dataflow flex-template run JOB_NAME \
      --project=PROJECT_ID \
      --region=REGION_NAME \
      --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/BigQuery_to_MongoDB \
      --parameters \
  inputTableSpec=INPUT_TABLE_SPEC,\
  mongoDbUri=MONGO_DB_URI,\
  database=DATABASE,\
  collection=COLLECTION
  

替换以下内容:

  • PROJECT_ID:您要在其中运行 Dataflow 作业的 Google Cloud 项目的 ID
  • JOB_NAME:您选择的唯一性作业名称
  • REGION_NAME:要在其中部署 Dataflow 作业的区域,例如 us-central1
  • VERSION:您要使用的模板的版本

    您可使用以下值:

  • INPUT_TABLE_SPEC:您的 BigQuery 源表的名称。
  • MONGO_DB_URI:您的 MongoDB URI。
  • DATABASE:您的 MongoDB 数据库。
  • COLLECTION:您的 MongoDB 集合。

API

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

  POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch
  {
     "launch_parameter": {
        "jobName": "JOB_NAME",
        "parameters": {
            "inputTableSpec": "INPUT_TABLE_SPEC",
            "mongoDbUri": "MONGO_DB_URI",
            "database": "DATABASE",
            "collection": "COLLECTION"
        },
        "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/BigQuery_to_MongoDB",
     }
  }

替换以下内容:

  • PROJECT_ID:您要在其中运行 Dataflow 作业的 Google Cloud 项目的 ID
  • JOB_NAME:您选择的唯一性作业名称
  • LOCATION:要在其中部署 Dataflow 作业的区域,例如 us-central1
  • VERSION:您要使用的模板的版本

    您可使用以下值:

  • INPUT_TABLE_SPEC:您的 BigQuery 源表的名称。
  • MONGO_DB_URI:您的 MongoDB URI。
  • DATABASE:您的 MongoDB 数据库。
  • COLLECTION:您的 MongoDB 集合。

后续步骤