Buat tabel

Membuat tabel Apache Iceberg akan mendaftarkan metadata tabel dalam namespace di katalog runtime Lakehouse.

Jika Anda tidak menentukan lokasi penyimpanan eksplisit di tingkat namespace atau tabel selama pembuatan tabel, sistem akan otomatis membuat metadata dan direktori data tabel di lokasi default katalog (berasal dari bucket Cloud Storage dasar katalog) dengan menambahkan ID namespace dan tabel.

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 diperlukan untuk membuat tabel, minta administrator untuk memberi Anda peran IAM berikut di project dan bucket penyimpanan Anda:

  • Semua:
    • Admin BigLake (roles/biglake.admin) - project Anda
    • Storage Admin (roles/storage.admin) - bucket Cloud Storage target

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.

Membuat tabel

Buat tabel Iceberg.

Konsol

  1. Di konsol Google Cloud , buka Lakehouse.

    Buka Lakehouse

  2. Pilih katalog yang ada atau buat katalog jika Anda belum memilikinya.

  3. Di panel menu, klik + Buat Tabel.

  4. Untuk Table format, pilih Iceberg.

  5. Untuk Table name, masukkan nama tabel yang unik.

  6. Klik Create.

Tabel Anda akan muncul di halaman Namespace details.

Spark

spark.sql("CREATE TABLE NAMESPACE_NAME.TABLE_NAME (id int, data string) USING ICEBERG;")

Ganti nilai berikut:

  • NAMESPACE_NAME: nama namespace Anda.
  • TABLE_NAME: nama untuk tabel Anda.

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

CREATE TABLE SCHEMA_NAME.TABLE_NAME (id int, data varchar);

Ganti nilai berikut:

  • SCHEMA_NAME: nama skema Anda.
  • TABLE_NAME: nama untuk tabel Anda.

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'
)

gcloud

Untuk membuat tabel menggunakan gcloud, jalankan perintah gcloud biglake iceberg tables create.

gcloud biglake iceberg tables create \
    --project="PROJECT_ID" \
    --catalog="CATALOG_ID" \
    --namespace="NAMESPACE_NAME" \
    --create-from-file="TABLE_DEFINITION_FILE"

Ganti kode berikut:

  • PROJECT_ID: Google Cloud Project ID Anda.
  • CATALOG_ID: ID katalog Anda.
  • NAMESPACE_NAME: nama namespace katalog Anda.
  • TABLE_DEFINITION_FILE: jalur ke file JSON yang berisi definisi tabel Iceberg.

BigQuery

Untuk membuat tabel Apache Iceberg di katalog runtime Lakehouse dari BigQuery, gunakan pernyataan CREATE TABLE GoogleSQL berikut. Saat Anda membuat tabel dari BigQuery, BigQuery DML dan pengelolaan tabel otomatis diaktifkan secara default.

CREATE TABLE `PROJECT_ID.CATALOG_ID.NAMESPACE.TABLE_NAME` (id int, data string);

Ganti kode berikut:

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

REST

Untuk membuat tabel Iceberg menggunakan REST API, buat permintaan POST ke endpoint CreateIcebergTable:

POST /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces/NAMESPACE_NAME/tables

Isi permintaan harus berisi payload JSON CreateTableRequest Iceberg yang valid yang menentukan skema tabel, spesifikasi partisi, dan properti awal.

Ganti kode berikut:

  • PROJECT_ID: Google Cloud Project ID Anda.
  • CATALOG_ID: ID katalog Anda.
  • NAMESPACE_NAME: nama namespace katalog Anda.

Langkah berikutnya