BigQuery テンプレートへの Bigtable 変更ストリームを使用する

このクイックスタートでは、変更ストリームを有効にして Bigtable テーブルを設定し、変更ストリーム パイプラインを実行して、テーブルに変更を加えてから、ストリーミングされた変更を確認する方法について説明します。

始める前に

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

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

    Activate Cloud Shell

    BigQuery データセットを作成する

    Google Cloud コンソールを使用して、データを保存するデータセットを作成します。

    1. Google Cloud コンソールで、[BigQuery] ページに移動します。

      [BigQuery] に移動

    2. [エクスプローラ] ペインで、プロジェクト名をクリックします。

    3. [アクション] オプションを開いて、[データセットを作成] をクリックします。

    4. [データセットの作成] ページで、次の操作を行います。

      1. [データセット ID] に「bigtable_bigquery_quickstart」と入力します。
      2. 残りのデフォルトの設定は変更せず、[データセットを作成] をクリックします。

    変更ストリームを有効にしてテーブルを作成する

    1. Google Cloud コンソールで、Bigtable の [インスタンス] ページに移動します。

      [Spanner インスタンス] に移動

    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
      

    次のステップ