使用 Bigtable change stream to BigQuery 模板

在本快速入门中,您将了解如何设置启用了变更数据流的 Bigtable 表、运行变更数据流流水线,对表进行更改,然后查看已流式传输的变更。

准备工作

  1. 在 Google Cloud 控制台的项目选择器页面上,选择或创建 Google Cloud 项目。

    选择或创建项目所需的角色

    • 选择项目:选择项目不需要特定的 IAM 角色,您可以选择已获授角色的任何项目。
    • 创建项目:如需创建项目,您需要拥有 Project Creator 角色 (roles/resourcemanager.projectCreator),该角色包含 resourcemanager.projects.create 权限。了解如何授予角色

    转到“项目选择器”

  2. 验证是否已为您的 Google Cloud 项目启用结算功能

  3. 启用 Dataflow、Cloud Bigtable API、Cloud Bigtable Admin API 和 BigQuery API。

    启用 API 所需的角色

    如需启用 API,您需要拥有 Service Usage Admin IAM 角色 (roles/serviceusage.serviceUsageAdmin),该角色包含 serviceusage.services.enable 权限。了解如何授予角色

    启用 API

  4. 在 Google Cloud 控制台中,激活 Cloud Shell。

    激活 Cloud Shell

创建 BigQuery 数据集

使用 Google Cloud 控制台创建用于存储数据的数据集。

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 探索器窗格中,点击您的项目名称。

  3. 展开 操作选项,然后点击创建数据集

  4. 创建数据集页面上,执行以下操作:

    1. 数据集 ID 部分,输入 bigtable_bigquery_quickstart
    2. 保持其余默认设置不变,然后点击创建数据集

创建启用了变更数据流的表

  1. 在 Google Cloud 控制台中,前往 Bigtable 实例页面。

    转到实例

  2. 点击您在本快速入门中使用的实例的 ID。

    如果您没有可用实例,请在您附近的区域中使用默认配置创建实例

  3. 在左侧导航窗格中,点击

  4. 点击创建表

  5. 将表格命名为 bigquery-changestream-quickstart

  6. 添加一个名为 cf 的列族。

  7. 选择启用变更数据流

  8. 点击创建

  9. 在 Bigtable 页面上,找到表 bigquery-changestream-quickstart

  10. 变更数据流列中,点击连接

  11. 在对话框中,选择 BigQuery

  12. 点击创建 Dataflow 作业

  13. 在提供的参数字段中,输入您的参数值。 您无需提供任何可选参数。

    1. 将 Bigtable 应用配置文件 ID 设置为 default
    2. 将 BigQuery 数据集设置为 bigtable_bigquery_quickstart
  14. 点击运行作业

  15. 等待作业状态为正在启动正在运行,然后再继续。作业排队后,大约需要 5 分钟才能完成。

  16. 在标签页中保持作业处于打开状态,以便在清理资源时停止作业。

向 Bigtable 写入一些数据

  1. 在 Cloud Shell 中,向 Bigtable 写入几行,以便变更日志可以将一些数据写入 BigQuery。只要在创建作业后写入数据,系统就会显示变更。您无需等待作业状态变为 running

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \
        set bigquery-changestream-quickstart user123 cf:col1=abc
    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \
        set bigquery-changestream-quickstart user546 cf:col1=def
    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \
        set bigquery-changestream-quickstart user789 cf:col1=ghi
    

    替换以下内容:

    • PROJECT_ID:您正在使用的项目的 ID
    • BIGTABLE_INSTANCE_ID:包含 bigquery-changestream-quickstart 表的实例的 ID

在 BigQuery 中查看变更日志

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转至 BigQuery

  2. 探索器窗格中,展开您的项目和数据集 bigtable_bigquery_quickstart

  3. 点击表 bigquery-changestream-quickstart_changelog

  4. 如需查看变更日志,请点击预览

    在 BigQuery 中预览变更日志

清理

为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。

  1. 在表上停用变更数据流:

    gcloud bigtable instances tables update bigquery-changestream-quickstart \
    --project=PROJECT_ID --instance=BIGTABLE_INSTANCE_ID \
    --clear-change-stream-retention-period
    
  2. 删除 bigquery-changestream-quickstart 表:

    cbt --instance=BIGTABLE_INSTANCE_ID --project=PROJECT_ID deletetable bigquery-changestream-quickstart
    
  3. 停止变更数据流流水线:

    1. 在 Google Cloud 控制台中,前往 Dataflow 作业页面。

      前往作业

    2. 从作业列表中选择您的流处理作业。

    3. 在导航中,点击停止

    4. 停止作业对话框中,选择取消,然后点击停止作业

  4. 删除 BigQuery 数据集:

    1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

      转至 BigQuery

    2. 探索器面板中,找到数据集 bigtable_bigquery_quickstart,然后点击它。

    3. 点击删除,输入 delete,然后点击删除进行确认。

  5. 可选:删除实例(如果您为此快速入门创建了新实例):

    cbt deleteinstance BIGTABLE_INSTANCE_ID
    

后续步骤