创建启用变更数据流的表并捕获更改

了解如何设置启用了变更数据流的 Bigtable 表、运行变更数据流流水线、对表进行更改,然后查看流式传输的更改。

准备工作

  1. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  2. 确保您的 Google Cloud 项目已启用结算功能

  3. 启用 Dataflow, Cloud Bigtable API, and Cloud Bigtable Admin API API。

    启用 API

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

    激活 Cloud Shell

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

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

    转到实例

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

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

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

  4. 点击创建表

  5. 将表命名为 change-streams-quickstart

  6. 添加名为 cf 的列族。

  7. 选择启用变更数据流

  8. 点击创建

初始化数据流水线以捕获变更数据流

  1. 在 Cloud Shell 中运行以下命令,下载并运行代码。

    git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
    cd java-docs-samples/bigtable/beam/change-streams
    mvn compile exec:java -Dexec.mainClass=ChangeStreamsHelloWorld \
    "-Dexec.args=--project=PROJECT_ID --bigtableProjectId=PROJECT_ID \
    --bigtableInstanceId=BIGTABLE_INSTANCE_ID --bigtableTableId=change-streams-quickstart \
    --runner=dataflow --region=BIGTABLE_REGION --experiments=use_runner_v2"
    

    替换以下内容:

    • PROJECT_ID:您正在使用的项目的 ID
    • BIGTABLE_INSTANCE_ID:要包含新表的实例的 ID
    • BIGTABLE_REGION:您的 Bigtable 实例所在的区域,例如 us-east5
  2. 在 Google Cloud 控制台中,转到 Dataflow 页面。

    进入 Dataflow

  3. 点击名称以 changestreamquickstart 开头的作业。

  4. 在屏幕底部,点击显示以打开日志面板。

  5. 点击工作器日志以监控变更数据流的输出。

  6. 在 Cloud Shell 中,将一些数据写入 Bigtable 以查看变更数据流过程。

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \
    import change-streams-quickstart quickstart-data.csv column-family=cf
    
  7. 在 Google Cloud 控制台中,确保将严重程度至少设置为 Info

  8. 工作器日志输出日志包含以下内容:

    Change captured: user123#2023,USER,SetCell,cf,col1,abc
    Change captured: user546#2023,USER,SetCell,cf,col1,def
    Change captured: user789#2023,USER,SetCell,cf,col1,ghi
    

清理

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

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

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

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

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

      打开“作业”

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

    3. 在导航中,点击停止

    4. 停止作业对话框中,取消流水线,然后点击停止作业

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

    cbt deleteinstance BIGTABLE_INSTANCE_ID
    

后续步骤