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

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

準備

  1. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  2. Google Cloud プロジェクトで課金が有効になっていることを確認します

  3. Dataflow, Cloud Bigtable API, Cloud Bigtable Admin API, and BigQuery API を有効にします。

    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
    

次のステップ