Spanner to Cloud Storage Text 模板

Spanner to Cloud Storage Text 模板是一种批处理流水线,可从 Spanner 表中读取数据并将其作为 CSV 文本文件写入 Cloud Storage。

流水线要求

  • 在运行此流水线之前,输入 Spanner 表必须已存在。

模板参数

参数 说明
spannerProjectId 您要从中读取数据的 Spanner 数据库的 Google Cloud 项目 ID。
spannerDatabaseId 所请求表的数据库 ID。
spannerInstanceId 所请求的表的实例 ID。
spannerTable 用于读取数据的表。
textWritePrefix 写入输出文本文件的 Cloud Storage 路径。在末尾添加“/”。例如 gs://mybucket/somefolder/
spannerSnapshotTime (可选)与您要读取的 Spanner 数据库版本对应的时间戳。时间戳必须按照 RFC 3339 世界协调时间 (UTC)(即“祖鲁时”)格式指定。例如 1990-12-31T23:59:60Z。时间戳必须是过去的时间,并且必须遵循时间戳过时上限
dataBoostEnabled (可选)设置为 true 可使用 Spanner Data Boost 的计算资源运行作业,且对 Spanner OLTP 工作流的影响接近于零。 这需要 spanner.databases.useDataBoost Identity and Access Management (IAM) 权限。如需了解详情,请参阅 Data Boost 概览
csvTempDirectory (可选)写入临时 CSV 文件的 Cloud Storage 路径。
spannerPriority (可选)Spanner 调用的请求优先级。可能的值包括:HIGHMEDIUMLOW。默认值为 MEDIUM

运行模板

控制台

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

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

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

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/Spanner_to_GCS_Text \
    --region REGION_NAME \
    --parameters \
spannerProjectId=SPANNER_PROJECT_ID,\
spannerDatabaseId=DATABASE_ID,\
spannerInstanceId=INSTANCE_ID,\
spannerTable=TABLE_ID,\
textWritePrefix=gs://BUCKET_NAME/output/

请替换以下内容:

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

    您可使用以下值:

  • REGION_NAME:要在其中部署 Dataflow 作业的区域,例如 us-central1
  • SPANNER_PROJECT_ID:您要从其中读取数据的 Spanner 数据库的 Google Cloud 项目 ID
  • DATABASE_ID:Spanner 数据库 ID
  • BUCKET_NAME - Cloud Storage 存储桶的名称。
  • INSTANCE_ID:Spanner 实例 ID
  • TABLE_ID:Spanner 表 ID

API

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

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/Spanner_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "spannerProjectId": "SPANNER_PROJECT_ID",
       "spannerDatabaseId": "DATABASE_ID",
       "spannerInstanceId": "INSTANCE_ID",
       "spannerTable": "TABLE_ID",
       "textWritePrefix": "gs://BUCKET_NAME/output/"
   },
   "environment": { "zone": "us-central1-f" }
}

请替换以下内容:

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

    您可使用以下值:

  • LOCATION:要在其中部署 Dataflow 作业的区域,例如 us-central1
  • SPANNER_PROJECT_ID:您要从其中读取数据的 Spanner 数据库的 Google Cloud 项目 ID
  • DATABASE_ID:Spanner 数据库 ID
  • BUCKET_NAME - Cloud Storage 存储桶的名称。
  • INSTANCE_ID:Spanner 实例 ID
  • TABLE_ID:Spanner 表 ID

后续步骤