Katalog runtime Lakehouse memungkinkan Anda membuat endpoint katalog di Lakehouse tanpa batas.
Endpoint katalog mengarah ke bucket Cloud Storage yang mendasarinya dan menyediakan lapisan metadata yang memungkinkan mesin kueri dan workload open source berinteraksi langsung dengan tabel Anda. Saat membuat endpoint katalog, Anda dapat memilih antara kredensial pengguna akhir dan mode penjualan kredensial untuk delegasi akses penyimpanan.
Sebelum memulai
- Baca Tentang katalog runtime Lakehouse untuk memahami cara kerja katalog runtime Lakehouse dan batasan untuk layanan ini.
- 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 theresourcemanager.projects.createpermission. Learn how to grant roles.
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
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.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk membuat katalog dan mendaftarkan tabel, minta administrator untuk memberi Anda peran IAM berikut:
-
Membuat katalog:
- BigLake Admin (
roles/biglake.admin) di project Anda - Storage Admin (
roles/storage.admin) di project Anda
- BigLake Admin (
-
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 BigLake Admin. -
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 Storage Object User (roles/storage.objectUser) secara eksplisit di bucket penyimpanan Anda ke 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
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 beberapa bucket (direkomendasikan)
Konfigurasi ini memungkinkan katalog Anda mengaitkan beberapa bucket dan memungkinkan Anda memberi nama katalog secara independen dari nama bucket apa pun.
Buka halaman Lakehouse di konsol Google Cloud .
Klik Create catalog, lalu pilih katalog runtime Lakehouse.
Untuk Catalog type, pilih Iceberg Rest Catalog.
Untuk Lakehouse catalog bucket options, pilih Multiple bucket catalog.
Untuk Default Catalog Cloud Storage path, masukkan atau cari jalur Cloud Storage yang akan digunakan dengan katalog Anda.
Untuk ID Katalog, masukkan nama kustom untuk katalog Anda.
Untuk Primary location, pilih lokasi. Lokasi harus berada di dekat region bucket utama.
Klik Lanjutkan.
Pada langkah Jalur data, jika Anda ingin menambahkan jalur Cloud Storage tambahan, klik Tambahkan jalur, lalu masukkan atau cari jalur.
Klik Lanjutkan.
Untuk metode autentikasi, pilih End-user credentials atau Credential vending mode.
Klik Create.
Katalog Anda akan dibuat, dan halaman Detail katalog akan terbuka.
Jika Anda memilih Credential vending mode, lakukan langkah-langkah tambahan berikut:
- Di bagian Metode autentikasi, klik Set bucket permissions (atau Set permissions for buckets jika katalog Anda menggunakan lebih dari satu bucket).
- Dalam dialog, klik Confirm.
Membuat katalog satu bucket
- Di halaman Lakehouse, klik Create catalog, lalu pilih katalog runtime Lakehouse.
- Untuk Catalog type, pilih Iceberg Rest Catalog atau Hive Metastore.
- Jika Anda memilih Iceberg Rest Catalog, untuk Lakehouse catalog bucket options, pilih Single bucket catalog.
- Untuk Default Catalog Cloud Storage bucket (atau Default Catalog Cloud Storage path untuk endpoint katalog Apache Hive), masukkan atau cari bucket Cloud Storage yang akan digunakan dengan katalog Anda. Untuk katalog bucket tunggal, Anda hanya dapat memiliki satu katalog per bucket, dan nama katalog cocok dengan nama bucket.
- Klik Lanjutkan.
- Untuk metode autentikasi, pilih End-user credentials atau Credential vending mode.
- Klik Create.
- Jika Anda memilih Credential vending mode, lakukan
langkah-langkah tambahan berikut:
- Di bagian metode autentikasi, klik Set bucket permissions.
- Dalam dialog, klik Confirm.
gcloud
Membuat katalog beberapa bucket (direkomendasikan)
Konfigurasi ini memungkinkan katalog Anda mengaitkan beberapa bucket dan memungkinkan Anda memberi nama katalog secara independen dari nama bucket apa pun.
Untuk membuat katalog beberapa 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: project ID Google Cloud Anda.DEFAULT_LOCATION: 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 menentukangs://my-bucket/path, Anda tidak dapat membuat namespace atau tabel di bagiangs://my-bucket/another/path.CREDENTIAL_MODE: metode autentikasi. Gunakanend-useruntuk kredensial pengguna akhir atauvended-credentialsuntuk mode penjualan kredensial. Jika Anda menentukanend-user, katalog runtime Lakehouse tidak akan otomatis mengelola tabel dalam katalog. Anda tidak dapat mengaktifkan tugas pengelolaan tabel seperti pemadatan dan masa berlaku snapshot.RESTRICTED_LOCATIONS: opsional: daftar lokasi penyimpanan tambahan yang diizinkan dan dipisahkan koma, dalam formatgs://my-bucket-1/...,gs://my-bucket-2/.... Jika Anda menentukan jalur (sepertigs://my-bucket/path), namespace atau tabel apa pun dalam bucket tersebut harus berada di jalur tersebut. Semua lokasi Cloud Storage yang dikonfigurasi di seluruh lokasi default dan lokasi yang dibatasi harus berada dalam grup wilayah geografis atau yurisdiksi 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: region utama untuk katalog guna memastikan interoperabilitas dengan BigQuery. Untuk bucket Cloud Storage di region AS (misalnya,USatauus-central1) atau region EU (misalnya,EUataueurope-west4), tentukanUSatauEUuntuk memastikan katalog dapat diakses dan tersedia untuk kueri dari multi-region BigQuery yang sesuai. Untuk mengetahui informasi selengkapnya, lihat Region bucket dan katalog.
Membuat katalog satu bucket
Untuk membuat katalog bucket tunggal, 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, ID ini cocok dengan ID bucket Cloud Storage yang digunakan dengan katalog.PROJECT_ID: project ID Google Cloud Anda.CREDENTIAL_MODE: metode autentikasi. Gunakanend-useruntuk kredensial pengguna akhir atauvended-credentialsuntuk mode penjualan kredensial.
REST
Membuat endpoint katalog REST Apache Iceberg
Untuk membuat endpoint pengelolaan katalog menggunakan REST API, buat permintaan POST
ke endpoint CreateIcebergCatalog:
POST /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs?iceberg-catalog-id=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: Project ID Google Cloud Anda.CATALOG_ID: ID katalog runtime Lakehouse Anda.