Mendaftarkan tabel

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

Sebelum memulai

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

  2. Aktifkan BigLake API, jika belum diaktifkan.

    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 untuk memberi Anda peran IAM berikut pada project dan bucket penyimpanan Anda:

  • Mendaftarkan tabel:
    • 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.

Mendaftarkan tabel

Mendaftarkan 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: Google Cloud Project ID
  • 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) Menimpa tabel jika tabel tersebut 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: Google Cloud Project ID
  • 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