Mendaftarkan tabel

Mendaftarkan tabel Apache Iceberg yang ada akan mengintegrasikan metadatanya ke dalam katalog runtime Lakehouse, sehingga data tabel dapat dikueri dan dikelola dalam namespace. Proses ini berbeda dengan pembuatan tabel, yang menginisialisasi struktur tabel baru yang kosong dan penyimpanan terkait.

Sebelum memulai

  1. Pastikan penagihan diaktifkan untuk Google Cloud project Anda.

  2. Aktifkan BigLake API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). 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 mendaftarkan tabel, minta administrator Anda untuk memberi Anda peran IAM berikut di project dan bucket penyimpanan Anda:

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

Mendaftarkan tabel

Daftarkan tabel Iceberg yang ada.

gcloud

Untuk mendaftarkan tabel menggunakan gcloud, jalankan perintah gcloud biglake iceberg tables register.

gcloud biglake iceberg tables register TABLE_NAME \
    --project="PROJECT_ID" \
    --catalog="CATALOG_ID" \
    --namespace="NAMESPACE_NAME" \
    --metadata-location="METADATA_LOCATION" \
    [--overwrite]

Ganti kode berikut:

  • TABLE_NAME: nama yang akan ditetapkan ke tabel terdaftar.
  • PROJECT_ID: Project ID Google Cloud
  • CATALOG_ID: ID katalog.
  • NAMESPACE_NAME: nama namespace katalog.
  • METADATA_LOCATION: Cloud Storage URI dari file JSON metadata terbaru untuk tabel, misalnya, gs://my-bucket/path/to/metadata/00001.metadata.json.
  • --overwrite: (Opsional) Timpa tabel jika sudah ada.

REST

Untuk mendaftarkan tabel Iceberg menggunakan REST API, buat permintaan POST ke endpoint RegisterIcebergTable:

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

Isi permintaan harus berisi payload JSON dengan struktur berikut:

{
  "name": "TABLE_NAME",
  "metadata-location": "METADATA_LOCATION",
  "overwrite": OVERWRITE
}

Ganti kode berikut:

  • PROJECT_ID: Project ID Google Cloud
  • CATALOG_ID: ID katalog.
  • NAMESPACE_NAME: nama namespace katalog.
  • TABLE_NAME: nama tabel terdaftar.
  • METADATA_LOCATION: Cloud Storage URI dari file JSON metadata terbaru untuk tabel.
  • OVERWRITE: true untuk menimpa jika tabel ada, jika tidak, false.

Langkah berikutnya