Membuat katalog

Membuat endpoint katalog (seperti endpoint katalog REST Apache Iceberg atau endpoint 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 endpoint katalog untuk Lakehouse untuk Apache Iceberg, Anda dapat memilih antara kredensial pengguna akhir atau mode penyediaan kredensial untuk delegasi akses penyimpanan.

Sebelum memulai

  1. Baca Tentang katalog runtime Lakehouse untuk memahami cara kerja katalog runtime Lakehouse dan batasan untuk layanan ini.
  2. Login keakun Anda. Google Cloud Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.

    In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

    In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat katalog dan mendaftarkan tabel, minta administrator untuk memberi Anda peran IAM berikut:

  • Membuat katalog:
  • Mendaftarkan tabel: Admin BigLake (roles/biglake.admin) di project Anda. Mendaftarkan tabel dalam katalog multi-bucket memerlukan izin pendaftaran tabel tertentu (biglake.tables.register), yang disertakan dalam peran Admin BigLake.
  • Menggunakan akun layanan katalog 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 yang disediakan otomatis.

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 katalog.

Konsol

Membuat katalog multi-bucket (bl://) (direkomendasikan)

Membuat katalog satu bucket (gs://)

  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.
  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.
    • 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) secara 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

Membuat katalog multi-bucket (bl://) (direkomendasikan)

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"]

Ganti kode berikut:

  • CATALOG_ID: ID katalog runtime Lakehouse Anda.
  • PROJECT_ID: ID Google Cloud project Anda.
  • DEFAULT_LOCATION: jalur Cloud Storage dasar untuk data dan metadata katalog, dalam format gs://my-bucket/path atau gs://my-bucket. Semua namespace dan tabel dalam katalog harus berada di jalur ini. Misalnya, jika Anda menentukan gs://my-bucket/path, Anda tidak dapat menghosting namespace atau tabel di gs://my-bucket/another/path.
  • RESTRICTED_LOCATIONS: (Opsional) daftar bucket atau jalur penyimpanan tambahan yang diizinkan yang dipisahkan koma. Demikian pula, jika Anda menentukan jalur (seperti gs://my-bucket/path), semua namespace dan tabel yang dibuat di bucket jalur tersebut harus berada dalam jalur tersebut. Peringatan Keamanan: Hindari mengonfigurasi jalur yang tumpang-tindih dengan katalog lain untuk membantu mencegah kredensial terekspos tanpa izin. Untuk mengetahui informasi selengkapnya, lihat Penyimpanan di Beberapa bucket.
  • 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.

Membuat katalog satu bucket (gs://)

Untuk membuat katalog satu bucket (gs://), 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 satu bucket (gs://), ID ini harus cocok dengan nama bucket Cloud Storage.
  • PROJECT_ID: ID Google Cloud project Anda.
  • CREDENTIAL_MODE: metode autentikasi. Gunakan end-user untuk Kredensial pengguna akhir atau vended-credentials untuk Mode penyediaan kredensial.

REST

Membuat katalog REST Iceberg

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 gudang bucket Cloud Storage yang mendasarinya dan mode autentikasi.

Ganti kode berikut:

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