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
- 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. - 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.
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.
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.
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.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat katalog dan mendaftarkan tabel, minta administrator untuk memberi Anda peran IAM berikut:
-
Membuat katalog:
- Admin BigLake (
roles/biglake.admin) di project Anda - Admin Penyimpanan (
roles/storage.admin) di project Anda
- Admin BigLake (
-
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://)
Dikonsol, buka halaman Lakehouse. Google Cloud
Pilih Buat katalog. Halaman Buat katalog akan terbuka.
Pilih konfigurasi katalog:
- Untuk membuat katalog REST Apache Iceberg, pilih Katalog REST Iceberg.
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.
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.Pilih Buat.
Katalog Anda akan dibuat dan halaman Detail katalog akan terbuka.
Di bagian Metode autentikasi, pilih Tetapkan izin bucket.
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 menggunakangcloudatau 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 formatgs://my-bucket/pathataugs://my-bucket. Semua namespace dan tabel dalam katalog harus berada di jalur ini. Misalnya, jika Anda menentukangs://my-bucket/path, Anda tidak dapat menghosting namespace atau tabel digs://my-bucket/another/path.RESTRICTED_LOCATIONS: (Opsional) daftar bucket atau jalur penyimpanan tambahan yang diizinkan yang dipisahkan koma. Demikian pula, jika Anda menentukan jalur (sepertigs://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. Gunakanend-useruntuk Kredensial pengguna akhir atauvended-credentialsuntuk Mode penyediaan kredensial.PRIMARY_LOCATION: (Opsional) region utama untuk katalog (sepertiUSatauEU) 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. Gunakanend-useruntuk Kredensial pengguna akhir atauvended-credentialsuntuk 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.