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 tabel dan direktori data di lokasi default katalog (berasal dari bucket Cloud Storage dasar katalog) dengan menambahkan ID namespace dan tabel.

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

Sebelum memulai

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

  1. Pastikan penagihan diaktifkan untuk Google Cloud project 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 Anda perlukan untuk membuat tabel, minta administrator untuk memberi Anda peran IAM berikut di project dan bucket penyimpanan:

  • Semua:
    • Admin BigLake (roles/biglake.admin) - project Anda
    • Admin Storage (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.

Membuat tabel

Buat tabel Iceberg.

Konsol

  1. Di Google Cloud konsol, buka Lakehouse.

    Buka Lakehouse

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

  3. Di panel menu, klik +Create Table.

  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 menggunakan federasi katalog BigQuery dengan Trino, Anda tidak dapat menentukan lokasi untuk tabel. Lokasi default skema akan 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: ID project Anda Google Cloud .
  • CATALOG_ID: ID katalog runtime Lakehouse Anda.
  • NAMESPACE_NAME: nama namespace katalog Anda.

Langkah berikutnya