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 tanpa batas, Anda dapat memilih antara kredensial pengguna akhir atau mode pemberian kredensial sementara 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 ke akun Google Cloud Anda. 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, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

Peran yang diperlukan

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

  • Buat katalog:
  • Membuat (mendaftarkan) tabel: BigLake Admin (roles/biglake.admin) di project Anda. Mendaftarkan tabel memerlukan izin pendaftaran tabel tertentu (biglake.tables.register), yang disertakan dalam peran Admin BigLake.
  • Gunakan akun layanan katalog yang disediakan otomatis dalam mode penyediaan kredensial: Storage Object User (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 kepada akun layanan yang disediakan secara 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.

Membuat katalog

Ikuti langkah-langkah berikut untuk membuat katalog berdasarkan mode kredensial dan jenis bucket yang Anda inginkan. Untuk mengetahui informasi selengkapnya tentang berbagai jenis katalog, lihat Tentang endpoint katalog REST Apache Iceberg.

Konsol

Membuat katalog multi-bucket (direkomendasikan)

Konfigurasi ini memungkinkan katalog Anda mengaitkan beberapa bucket dan memungkinkan Anda memberi nama katalog secara terpisah dari nama bucket.

  1. Buka halaman Lakehouse di konsol Google Cloud .

    Buka Lakehouse

  2. Klik Buat katalog.

  3. Untuk Catalog type, pilih Iceberg Rest Catalog.

  4. Untuk Lakehouse catalog bucket options, pilih Multiple bucket catalog.

  5. Untuk Jalur Cloud Storage Katalog Default, masukkan atau telusuri jalur Cloud Storage yang akan digunakan dengan katalog Anda.

  6. Untuk ID Katalog, masukkan nama kustom untuk katalog Anda.

  7. Untuk Lokasi utama, pilih lokasi. Lokasi harus dekat dengan region bucket utama.

  8. Klik Lanjutkan.

  9. Pada langkah Jalur data, tambahkan jalur Cloud Storage tambahan jika diperlukan.

  10. Klik Lanjutkan.

  11. Untuk Authentication method, pilih End-user credentials atau Credential vending mode.

  12. Klik Create.

    Katalog Anda dibuat dan halaman Detail katalog akan terbuka.

  13. Jika Anda memilih Credential vending mode, lakukan langkah-langkah tambahan berikut:

    1. Di bagian Authentication method, klik Set bucket permissions.
    2. Pada dialog, klik Konfirmasi.

Membuat katalog bucket tunggal (gs://)

  1. Untuk Catalog type, pilih Iceberg Rest Catalog atau Hive Metastore.
  2. Untuk Lakehouse catalog bucket options, pilih Single bucket catalog.
  3. Untuk Jalur Cloud Storage Katalog Default, masukkan atau telusuri jalur Cloud Storage yang akan digunakan dengan katalog Anda. (Untuk katalog bucket tunggal (gs://), Anda hanya dapat memiliki satu katalog per bucket, dan nama katalog cocok dengan nama bucket).
  4. Klik Lanjutkan.
  5. Untuk Authentication method, pilih End-user credentials atau Credential vending mode.
  6. Klik Create.
  7. Jika Anda memilih Credential vending mode, lakukan langkah-langkah tambahan berikut:
    1. Di bagian Authentication method, klik Set bucket permissions.
    2. Pada dialog, klik Konfirmasi.

gcloud

Membuat katalog multi-bucket (direkomendasikan)

Konfigurasi ini memungkinkan katalog Anda mengaitkan beberapa bucket dan memungkinkan Anda memberi nama katalog secara terpisah dari nama bucket.

Untuk membuat katalog multi-bucket (direkomendasikan), jalankan perintah gcloud biglake iceberg catalogs create.

gcloud biglake iceberg catalogs create \
    CATALOG_NAME \
    --project PROJECT_ID \
    --catalog-type biglake \
    --default-location DEFAULT_LOCATION \
    --credential-mode CREDENTIAL_MODE \
    [--restricted-locations RESTRICTED_LOCATIONS] \
    [--primary-location LOCATION]

Ganti kode berikut:

  • CATALOG_NAME: nama untuk katalog Anda. Untuk katalog multi-bucket (direkomendasikan), ini adalah nama katalog kustom Anda.
  • PROJECT_ID: Google Cloud Project ID Anda.
  • DEFAULT_LOCATION: Tentukan lokasi penyimpanan default untuk katalog. Anda dapat menentukan bucket (gs://my-bucket) atau subjalur (gs://my-bucket/path). Semua namespace dan tabel dalam katalog harus berada di jalur yang ditentukan. Misalnya, jika Anda menentukan gs://my-bucket/path, Anda tidak dapat membuat namespace atau tabel di bawah gs://my-bucket/another/path.
  • CREDENTIAL_MODE: metode autentikasi. Gunakan end-user untuk End-user credentials atau vended-credentials untuk Credential vending mode.

    Catatan: Jika Anda menggunakan Mode penyediaan kredensial, Anda harus memberikan peran Pengguna Objek Penyimpanan (roles/storage.objectUser) secara eksplisit di semua bucket penyimpanan terkait ke akun layanan katalog runtime Lakehouse yang disediakan otomatis untuk katalog Anda.

  • RESTRICTED_LOCATIONS: (Opsional) Daftar lokasi penyimpanan tambahan yang diizinkan, yang dipisahkan koma, dalam format gs://my-bucket-1/...,gs://my-bucket-2/.... Jika Anda menentukan jalur (seperti gs://my-bucket/path), semua namespace atau tabel dalam bucket tersebut harus berada di jalur tersebut. Semua lokasi penyimpanan cloud yang dikonfigurasi di seluruh lokasi default dan lokasi terbatas harus berada dalam grup wilayah geografis atau wilayah hukum yang sama (seperti Amerika Serikat, Eropa, Kanada, atau Asia). Misalnya, Anda tidak dapat menggabungkan bucket di AS dengan bucket di Eropa. Untuk mengetahui daftar lokasi yang didukung, lihat Lokasi lakehouse.

    Peringatan: Hindari mengonfigurasi jalur yang tumpang-tindih dengan katalog lain untuk mencegah eksposur kredensial yang tidak sah. Untuk mengetahui informasi selengkapnya, lihat Penyimpanan di Beberapa bucket.

  • LOCATION: (Opsional) Wilayah utama untuk katalog guna memastikan interoperabilitas dengan BigQuery. Untuk bucket Cloud Storage di region AS (misalnya, US atau us-central1) atau region Uni Eropa (misalnya, EU atau europe-west4), tentukan US atau EU untuk memastikan katalog dapat diakses dan tersedia untuk dikueri dari multi-region BigQuery yang sesuai. Untuk mengetahui informasi selengkapnya, lihat Region bucket dan katalog.

Membuat katalog bucket tunggal (gs://)

Untuk membuat katalog satu bucket (gs://), jalankan perintah berikut:

gcloud biglake iceberg catalogs create \
    CATALOG_NAME \
    --project PROJECT_ID \
    --catalog-type gcs-bucket \
    --credential-mode CREDENTIAL_MODE

Ganti kode berikut:

  • CATALOG_NAME: nama untuk katalog Anda. Untuk katalog bucket tunggal (gs://), ID ini cocok dengan ID bucket Cloud Storage yang digunakan dengan katalog REST.
  • PROJECT_ID: project ID Google Cloud Anda.
  • CREDENTIAL_MODE: metode autentikasi. Gunakan end-user untuk End-user credentials atau vended-credentials untuk Credential vending mode.

REST

Membuat katalog REST Iceberg

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

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

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

Ganti kode berikut:

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