Membuat katalog

Membuat katalog (seperti katalog REST Apache Iceberg atau katalog Apache Hive) akan membuat endpoint pengelolaan dalam katalog runtime Lakehouse. Endpoint ini mengarah ke bucket Cloud Storage yang mendasarinya, yang menyediakan lapisan metadata yang memungkinkan mesin kueri dan workload open source berinteraksi langsung dengan tabel Anda.

Saat membuat katalog untuk Lakehouse untuk Apache Iceberg, Anda dapat memilih antara kredensial pengguna akhir atau mode penyediaan kredensial untuk delegasi akses penyimpanan.

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 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 katalog, minta administrator Anda untuk memberi Anda peran IAM berikut:

  • Semua:
  • Akun layanan katalog runtime Lakehouse yang disediakan otomatis dalam mode penyediaan kredensial: Pengguna Objek Penyimpanan (roles/storage.objectUser) di bucket Cloud Storage target. Setelah membuat katalog, berikan peran Pengguna Objek Penyimpanan (roles/storage.objectUser) secara eksplisit di bucket penyimpanan Anda ke akun layanan katalog runtime Lakehouse yang disediakan otomatis di katalog Anda.

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 katalog

Buat endpoint katalog.

Konsol

  1. Dikonsol, buka halaman Lakehouse. Google Cloud

    Buka Lakehouse

  2. Pilih Buat katalog. Halaman Buat katalog akan terbuka.

  3. Pilih konfigurasi katalog:

    • Untuk membuat katalog REST Apache Iceberg, pilih Katalog REST Iceberg.
    • Untuk membuat katalog Apache Hive, pilih Katalog Hive.
  4. Konfigurasi katalog:

    • Jika Anda memilih Katalog REST Iceberg, pilih Bucket Cloud Storage untuk jenis katalog, lalu pilih bucket Cloud Storage yang akan digunakan dengan katalog Anda. Anda hanya dapat memiliki satu katalog per bucket, dan nama katalog cocok dengan nama bucket.
    • Jika Anda memilih Katalog Hive, masukkan nama katalog yang unik dan pilih jalur Cloud Storage terkait.
  5. Untuk Metode autentikasi, pilih Kredensial pengguna akhir atau Mode penyediaan kredensial.

    Jika Anda memilih Mode penyediaan kredensial, akun layanan katalog runtime Lakehouse yang disediakan otomatis memerlukan peran Pengguna Objek Penyimpanan (roles/storage.objectUser) yang eksplisit di semua bucket Cloud Storage terkait. Secara default, akun ini tidak memiliki akses sama sekali. Tanpa peran ini, kredensial yang disediakan tidak memiliki cakupan yang memadai untuk melakukan penulisan penyimpanan.

  6. Pilih Buat.

    Katalog Anda akan dibuat dan halaman Detail katalog akan terbuka.

  7. Di bagian Metode autentikasi, pilih Tetapkan izin bucket.

  8. Dalam dialog, pilih Konfirmasi.

    Tindakan ini akan memverifikasi bahwa akun layanan katalog Anda memiliki peran Pengguna Objek Penyimpanan (roles/storage.objectUser) di semua bucket penyimpanan terkait. Jika Anda membuat katalog menggunakan gcloud atau Terraform, Anda harus memberikan peran ini secara manual.

gcloud

Untuk membuat katalog menggunakan gcloud, jalankan perintah gcloud biglake iceberg catalogs create.

Membuat katalog BigLake

Untuk membuat katalog BigLake, tetapkan --catalog-type ke biglake dan tentukan lokasi warehouse default:

gcloud biglake iceberg catalogs create CATALOG_ID \
    --project="PROJECT_ID" \
    --catalog-type="biglake" \
    --default-location="DEFAULT_LOCATION" \
    [--restricted-locations="RESTRICTED_LOCATIONS"] \
    [--credential-mode="CREDENTIAL_MODE"] \
    [--primary-location="PRIMARY_LOCATION"]

Membuat katalog bucket Cloud Storage

Untuk membuat katalog bucket Cloud Storage, tetapkan --catalog-type ke gcs-bucket:

gcloud biglake iceberg catalogs create CATALOG_ID \
    --project="PROJECT_ID" \
    --catalog-type="gcs-bucket" \
   [--credential-mode="CREDENTIAL_MODE"]

Ganti kode berikut:

  • CATALOG_ID: ID katalog runtime Lakehouse Anda. Untuk katalog bucket Cloud Storage, ID ini harus cocok dengan nama bucket Cloud Storage.
  • PROJECT_ID: ID project Anda Google Cloud .
  • DEFAULT_LOCATION: jalur Cloud Storage dasar untuk data dan metadata katalog, dalam format gs://my-bucket/path.
  • RESTRICTED_LOCATIONS: (Opsional) daftar bucket atau jalur penyimpanan tambahan yang diizinkan yang dipisahkan koma.
  • CREDENTIAL_MODE: metode autentikasi. Gunakan end-user untuk Kredensial pengguna akhir atau vended-credentials untuk Mode penyediaan kredensial.
  • PRIMARY_LOCATION: (Opsional) region utama untuk katalog (seperti US atau EU) untuk memastikan kompatibilitas dengan BigQuery.

REST

Untuk membuat endpoint pengelolaan katalog menggunakan REST API, buat POST permintaan ke CreateIcebergCatalog endpoint:

POST /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs?icebergCatalogId=CATALOG_ID

Isi permintaan harus berisi payload JSON IcebergCatalog yang menentukan konfigurasi katalog, seperti warehouse bucket Cloud Storage yang mendasarinya dan mode autentikasi.

Ganti kode berikut:

  • PROJECT_ID: ID project Anda Google Cloud .
  • CATALOG_ID: ID katalog runtime Lakehouse Anda.