Menyisipkan data ke dalam tabel

Memasukkan data akan menambahkan kumpulan data dan file data baru ke tabel Apache Iceberg Anda.

Sebelum memulai

  1. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  2. Mengaktifkan BigLake API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    Mengaktifkan API

  3. Siapkan katalog runtime Lakehouse dengan endpoint katalog REST Apache Iceberg.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk menyisipkan data ke dalam tabel, minta administrator untuk memberi Anda peran IAM berikut pada project dan bucket penyimpanan Anda:

  • Menulis data tabel dalam mode penyediaan kredensial: BigLake Editor (roles/biglake.editor) - project
  • Menulis data tabel dalam mode penjualan non-kredensial:
    • Editor BigLake (roles/biglake.editor) - project
    • Storage Object User (roles/storage.objectUser) - bucket Cloud Storage

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Kemampuan dan dukungan tabel

Saat menggunakan tabel dalam katalog runtime Lakehouse, ada baiknya memahami berbagai jenis tabel dan kemampuan keikutsertaannya. Untuk mempelajari lebih lanjut cara menggunakan tabel Apache Iceberg secara khusus, lihat Ringkasan tabel Apache Iceberg.

Tabel Iceberg yang didukung

Hanya tabel Apache Iceberg V2 (GA) dan V3 (Pratinjau) yang didukung. Tabel Iceberg V1 tidak didukung. Untuk mengupgrade tabel V1 yang ada, lihat Mengupgrade tabel Iceberg V1 ke V2.

Menggunakan opsi tabel (Pratinjau)

Anda dapat memilih untuk menggunakan kemampuan terkelola BigQuery, seperti Bahasa Pengolahan Data (DML) BigQuery dan pengelolaan tabel otomatis, dengan mengonfigurasi properti tabel tertentu. Fitur ini diaktifkan dengan cara yang berbeda, bergantung pada tempat tabel dibuat:

  • Dari BigQuery: DML BigQuery dan pengelolaan tabel otomatis diaktifkan secara default.
  • Dari mesin open source: Untuk memilih ikut serta, Anda harus mengonfigurasi properti tabel secara eksplisit. Lihat Mengonfigurasi opsi tabel untuk mengetahui informasi selengkapnya.

Menyisipkan data ke dalam tabel

Masukkan data sampel ke dalam tabel.

Untuk menyisipkan data dari BigQuery, tabel harus mengaktifkan DML BigQuery (gcp.biglake.bigquery-dml.enabled = true). Lihat Mengonfigurasi opsi tabel untuk mengetahui petunjuk mendetail.

Spark

spark.sql("INSERT INTO TABLE_NAME VALUES (1, \"first row\"), (2, \"second row\"), (3, \"third row\");")

Untuk mengaktifkan interoperabilitas baca/tulis dan pengelolaan tabel (pratinjau), tambahkan properti ke klausa 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');

Untuk mengaktifkan interoperabilitas baca/tulis dan pengelolaan tabel (Pratinjau), tambahkan properti ini ke klausa WITH:

WITH (
  "gcp.biglake.bigquery-dml.enabled" = 'true',
  "gcp.biglake.table-management.enabled" = 'true'
)

BigQuery

Untuk menyisipkan data ke dalam tabel Apache Iceberg di katalog runtime Lakehouse dari BigQuery, tabel harus mengaktifkan DML BigQuery. Gunakan pernyataan GoogleSQL INSERT berikut:

INSERT INTO `PROJECT_ID.CATALOG_ID.NAMESPACE.TABLE_NAME` VALUES (1, "foo");

Ganti kode berikut:

  • PROJECT_ID: Google Cloud Project ID Anda.
  • CATALOG_ID: ID katalog runtime Lakehouse Anda.
  • NAMESPACE: nama namespace Iceberg Anda.
  • TABLE_NAME: nama tabel Iceberg Anda.

Langkah berikutnya