データを挿入すると、新しいレコードとデータファイルが Apache Iceberg テーブルに追加されます。
始める前に
-
BigLake API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。詳しくは、ロールを付与する方法をご覧ください。 - Apache Iceberg REST カタログ エンドポイントを使用して、Lakehouse ランタイム カタログを設定します。
必要なロール
テーブルにデータを挿入するために必要な権限を取得するには、プロジェクトとストレージ バケットに対する次の IAM ロールを付与するように管理者に依頼してください。
-
認証情報ベンダー モードでテーブルデータを書き込む: BigLake 編集者(
roles/biglake.editor)- プロジェクト -
認証情報ベンダー モード以外でテーブルデータを書き込む:
- BigLake 編集者(
roles/biglake.editor)- プロジェクト - ストレージ オブジェクト ユーザー(
roles/storage.objectUser)- Cloud Storage バケット
- BigLake 編集者(
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。
テーブルの機能とサポート
Lakehouse ランタイム カタログでテーブルを使用する場合は、さまざまなテーブルタイプとそのオプトイン 機能を理解して おくと便利です。Apache Iceberg テーブルの使用について詳しくは、Apache Iceberg テーブルの概要をご覧ください。
サポートされている Iceberg テーブル
Apache Iceberg V2(GA)テーブルと V3(プレビュー)テーブルのみがサポートされています。Iceberg V1 テーブルはサポートされていません。既存の V1 テーブルをアップグレードするには、Iceberg V1 テーブルを V2 にアップグレードするをご覧ください。
テーブル オプションを使用する(プレビュー)
特定のテーブル プロパティを構成することで、BigQuery データ操作言語(DML)や自動テーブル管理などの BigQuery マネージド機能を使用するようにオプトインできます。これらの機能は、テーブルの作成場所に応じて異なる方法で有効になります。
- BigQuery から: BigQuery DML と自動テーブル管理はデフォルトで有効になっています。
- オープンソース エンジンから: オプトインするには、テーブル プロパティを明示的に構成する必要があります。詳細については、テーブル オプションを構成するをご覧ください。
テーブルにデータを挿入する
テーブルにサンプルデータを挿入します。
BigQuery からデータを挿入するには、テーブルで BigQuery DML が有効になっている必要があります
(gcp.biglake.bigquery-dml.enabled = true)。詳細な手順については、テーブル
オプションを構成するをご覧ください。
Spark
spark.sql("INSERT INTO TABLE_NAME VALUES (1, \"first row\"), (2, \"second row\"), (3, \"third row\");")
読み取り/書き込みの相互運用性とテーブル管理(プレビュー)を有効にするには、TBLPROPERTIES 句にプロパティを追加します。
TBLPROPERTIES (
'gcp.biglake.bigquery-dml.enabled' = true,
'gcp.biglake.table-management.enabled' = true
)
Trino
INSERT INTO TABLE_NAME VALUES (1, 'first row'), (2, 'second row'), (3, 'third row');
読み取り/書き込みの相互運用性とテーブル管理(プレビュー)を有効にするには、これらのプロパティを WITH 句に追加します。
WITH (
"gcp.biglake.bigquery-dml.enabled" = 'true',
"gcp.biglake.table-management.enabled" = 'true'
)
BigQuery
BigQuery から Lakehouse ランタイム カタログの Apache Iceberg テーブルにデータを挿入するには、テーブルで BigQuery DML が有効になっている必要があります。次の GoogleSQL INSERT ステートメントを使用します。
INSERT INTO `PROJECT_ID.CATALOG_ID.NAMESPACE.TABLE_NAME` VALUES (1, "foo");
次のように置き換えます。
PROJECT_ID: 実際の Google Cloud プロジェクト ID。CATALOG_ID: Lakehouse ランタイム カタログの ID。NAMESPACE: Iceberg 名前空間の名前。TABLE_NAME: Iceberg テーブルの名前。
次のステップ
- テーブルにクエリを実行する方法を学習する。