La creazione di un catalogo (ad esempio un catalogo REST Apache Iceberg o un catalogo Apache Hive) stabilisce un endpoint di gestione all'interno del catalogo di runtime di Lakehouse. Questo endpoint rimanda a un bucket del warehouse Cloud Storage sottostante, fornendo un livello di metadati che consente ai motori di query e ai carichi di lavoro open source di interagire direttamente con le tabelle.
Quando crei il catalogo per Lakehouse per Apache Iceberg, puoi scegliere tra le credenziali dell'utente finale o la modalità di distribuzione delle credenziali per la delega dell'accesso allo spazio di archiviazione.
Prima di iniziare
-
Verifica che la fatturazione sia attivata per il tuo Google Cloud progetto.
-
Abilita l'API BigLake.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (
roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare un catalogo, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Tutti:
- BigLake Admin (
roles/biglake.admin) sul progetto - Amministratore Spazio di archiviazione (
roles/storage.admin) sul progetto
- BigLake Admin (
-
Account di servizio del catalogo di runtime di Lakehouse con provisioning automatico in modalità di distribuzione delle credenziali:
Storage Object User (
roles/storage.objectUser) sul bucket Cloud Storage di destinazione. Dopo aver creato il catalogo, concedi esplicitamente il ruolo Storage Object User (roles/storage.objectUser) sul bucket di archiviazione al account di servizio del catalogo di runtime di Lakehouse con provisioning automatico del catalogo.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Crea un catalogo
Crea un endpoint del catalogo.
Console
Nella Google Cloud console, apri la pagina Lakehouse.
Seleziona Crea catalogo. Viene visualizzata la pagina Crea catalogo.
Seleziona il tipo di catalogo:
- Per creare un catalogo REST Apache Iceberg, seleziona Catalogo REST Iceberg.
- Per creare un catalogo Apache Hive, seleziona Catalogo Hive.
In Seleziona un bucket Cloud Storage, inserisci il nome del bucket Cloud Storage da utilizzare con il catalogo. In alternativa, seleziona Sfoglia per scegliere da un elenco di bucket esistenti o per crearne uno. Puoi avere un solo catalogo per bucket Cloud Storage.
In Metodo di autenticazione, seleziona Credenziali dell'utente finale o Modalità di distribuzione delle credenziali.
Se selezioni Modalità di distribuzione delle credenziali, il account di servizio del catalogo di runtime di Lakehouse con provisioning automatico richiede il ruolo esplicito Storage Object User (
roles/storage.objectUser) sul bucket Cloud Storage di destinazione. Per impostazione predefinita, viene creato con accesso di sola visualizzazione. Senza questo ruolo, le credenziali distribuite non hanno un ambito sufficiente per eseguire scritture di archiviazione.Seleziona Crea.
Il catalogo viene creato e si apre la pagina Dettagli catalogo.
In Metodo di autenticazione, seleziona Imposta autorizzazioni bucket.
Nella finestra di dialogo, seleziona Conferma.
In questo modo, verifichi che il account di servizio del catalogo abbia il ruolo di Amministratore oggetti Storage sul bucket di archiviazione. Se crei cataloghi utilizzando
gcloudo Terraform, devi concedere questo ruolo manualmente.
REST
Per creare un endpoint di gestione del catalogo utilizzando l'API REST, invia una POST
richiesta al CreateIcebergCatalog endpoint:
POST /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs?icebergCatalogId=CATALOG_ID
Il corpo della richiesta deve contenere un payload JSON IcebergCatalog che definisce la configurazione del catalogo, ad esempio il warehouse del bucket Cloud Storage sottostante e la modalità di autenticazione.
Sostituisci quanto segue:
PROJECT_ID: l'ID del tuo Google Cloud progetto.CATALOG_ID: l'ID del catalogo di runtime di Lakehouse.