このページでは、BigQuery の BigLake Iceberg テーブルへのレプリケーション用に Datastream を構成する方法について説明します。
BigLake Iceberg テーブルは、標準の BigQuery テーブルと同じフルマネージド エクスペリエンスを提供しますが、お客様所有の Cloud Storage バケットに Apache Iceberg テーブル形式と Parquet ファイル形式でデータを保存します。データを独自のストレージ バケットに保持しながら、BigQuery の機能を使用してデータをクエリして分析できます。
テーブルのメタデータ
Datastream は、BigQuery の宛先に書き込まれる各テーブルに datastream_metadata という名前の STRUCT 列を追加します。
datastream_metadata 列には次のフィールドが含まれます。
UUIDこのフィールドにはSTRINGデータ型が含まれます。SOURCE_TIMESTAMPこのフィールドにはINTEGERデータ型が含まれます。CHANGE_SEQUENCE_NUMBERこのフィールドにはSTRINGデータ型が含まれます。 これは、Datastream が各変更イベントに使用する内部シーケンス番号です。CHANGE_TYPEこのフィールドにはSTRINGデータ型が含まれます。変更イベントのタイプを示します。追加専用の書き込みモードの場合、値はINSERTです。SORT_KEYS: このフィールドにはSTRING値の配列が含まれます。これらの値を使用して、変更イベントを並べ替えることができます。
BigLake Iceberg テーブルへのストリーミングを構成する
ストリームを設定して BigLake Iceberg テーブルにデータを取り込むには:
- データを保存する Cloud Storage バケットを作成します。
- BigQuery で Cloud リソース接続を作成します。このタイプの接続の作成方法については、Cloud リソース接続を作成して設定するをご覧ください。
接続サービス アカウントの ID を取得します。
bq show --location=LOCATION --connection --project_id=PROJECT_ID CONNECTION_NAME作成した Cloud Storage バケットへのアクセス権を Cloud リソース接続に付与します。これを行うには、接続サービス アカウントに
storage.adminIAM 権限を追加します。gcloud storage buckets add-iam-policy-binding gs://YOUR_GCS_BUCKET \ --member=serviceAccount:YOUR_SERVICE_ACCOUNT_ID \ --role=roles/storage.adminBigLake Iceberg テーブル ストリームを作成します。
Google Cloud コンソールを使用して BigLake Iceberg テーブル ストリームを作成する方法については、ストリームを作成するをご覧ください。
REST、
Google Cloud CLI、Terraform を使用して BigLake Iceberg テーブルにデータをストリーミングするリクエストを作成する方法については、API を使用してストリームを管理するをご覧ください。
次のステップ
- ストリームの詳細については、ストリームのライフサイクルをご覧ください。
- ストリームの作成方法については、ストリームを作成するをご覧ください。
- BigLake Iceberg テーブル ストリームで使用できる接続プロファイルを作成する方法については、BigQuery 用の接続プロファイルを作成するをご覧ください。