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

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

准备工作

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

  3. Enable the Dataflow, Cloud Bigtable API, and Cloud Bigtable Admin API APIs.

    Enable the APIs

  4. In the Google Cloud console, activate Cloud Shell.

    Activate 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
    

后续步骤