Creare un catalogo

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

  1. Verifica che la fatturazione sia attivata per il tuo Google Cloud progetto.

  2. 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'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    Abilitare l'API

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare un catalogo, chiedi all'amministratore di concederti i seguenti ruoli IAM:

  • Tutti:
  • 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

  1. Nella Google Cloud console, apri la pagina Lakehouse.

    Vai a Lakehouse

  2. Seleziona Crea catalogo. Si apre la pagina Crea catalogo.

  3. Seleziona la configurazione del catalogo:

    • Per creare un catalogo REST Apache Iceberg, seleziona Catalogo REST Iceberg.
    • Per creare un catalogo Apache Hive, seleziona Catalogo Hive.
  4. Configura il catalogo:

    • Se scegli Catalogo REST Iceberg, seleziona Bucket Cloud Storage per il tipo di catalogo e seleziona il bucket Cloud Storage da utilizzare con il catalogo. Puoi avere un solo catalogo per bucket e il nome del catalogo corrisponde al nome del bucket.
    • Se scegli Catalogo Hive, inserisci un nome di catalogo univoco e seleziona il percorso Cloud Storage associato.
  5. Per Metodo di autenticazione, seleziona Credenziali 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) su tutti i bucket Cloud Storage associati. Per impostazione predefinita, non ha alcun accesso. Senza questo ruolo, le credenziali distribuite non hanno un ambito sufficiente per eseguire scritture di archiviazione.

  6. Seleziona Crea.

    Il catalogo viene creato e si apre la pagina Dettagli catalogo.

  7. In Metodo di autenticazione, seleziona Imposta autorizzazioni bucket.

  8. Nella finestra di dialogo, seleziona Conferma.

    In questo modo verifichi che il account di servizio del catalogo abbia il ruolo Storage Object User (roles/storage.objectUser) su tutti i bucket di archiviazione associati. Se crei cataloghi utilizzando gcloud o Terraform, devi concedere questo ruolo manualmente.

gcloud

Per creare un catalogo utilizzando gcloud, esegui il comando gcloud biglake iceberg catalogs create.

Crea un catalogo BigLake

Per creare un catalogo BigLake, imposta --catalog-type su biglake e specifica la località del warehouse predefinita:

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

Crea un catalogo di bucket Cloud Storage

Per creare un catalogo di bucket Cloud Storage, imposta --catalog-type su gcs-bucket:

gcloud biglake iceberg catalogs create CATALOG_ID \
    --project="PROJECT_ID" \
    --catalog-type="gcs-bucket" \
   [--credential-mode="CREDENTIAL_MODE"]

Sostituisci quanto segue:

  • CATALOG_ID: l'ID del catalogo di runtime di Lakehouse. Per i cataloghi di bucket Cloud Storage, questo valore deve corrispondere al nome del bucket Cloud Storage.
  • PROJECT_ID: l'ID del tuo Google Cloud progetto.
  • DEFAULT_LOCATION: il percorso Cloud Storage di base per i dati e i metadati del catalogo, nel formato gs://my-bucket/path.
  • RESTRICTED_LOCATIONS: (facoltativo) un elenco separato da virgole di bucket o percorsi di archiviazione consentiti aggiuntivi.
  • CREDENTIAL_MODE: il metodo di autenticazione. Utilizza end-user per Credenziali utente finale o vended-credentials per Modalità di distribuzione delle credenziali.
  • PRIMARY_LOCATION: (facoltativo) la regione principale per il catalogo (ad esempio US o EU) per garantire la compatibilità con BigQuery.

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.