Buat tabel

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

Format tabel yang didukung

Hanya tabel Apache Iceberg V2 yang didukung; tabel Iceberg V1 tidak didukung. Jika memiliki tabel Iceberg V1 yang sudah ada, Anda harus mengupgradenya ke V2 (misalnya, dengan menjalankan ALTER TABLE catalog.schema.table SET TBLPROPERTIES ('format-version'='2'); atau menggunakan operasi mesin yang serupa) sebelum mendaftarkan atau menggunakannya.

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.

Selain integrasi mesin kueri, katalog runtime Lakehouse mengimplementasikan spesifikasi Iceberg REST Catalog API open source (POST /v1/{prefix}/namespaces/{namespace}/tables), sehingga memungkinkan klien REST yang kompatibel membuat tabel secara langsung.

Sebelum memulai

Lihat ringkasan tabel untuk memahami berbagai jenis tabel dan implikasi penggunaannya.

  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

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) - target 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.

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;")

spark.sql("DESCRIBE NAMESPACE_NAME.TABLE_NAME").show()

Ganti nilai berikut:

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

Trino

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

DESCRIBE SCHEMA_NAME.TABLE_NAME;

Ganti nilai berikut:

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

Jika Anda menggunakan federasi katalog BigQuery dengan Trino, Anda tidak dapat menentukan lokasi untuk tabel. Lokasi default skema selalu digunakan.

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 runtime Lakehouse Anda.
  • NAMESPACE_NAME: nama namespace katalog Anda.

Langkah berikutnya