Il catalogo di runtime Lakehouse consente di creare endpoint del catalogo in Lakehouse senza bordi.
Un endpoint del catalogo punta a un bucket Cloud Storage sottostante e fornisce 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 un endpoint del catalogo, puoi scegliere tra le credenziali dell'utente finale e la modalità di distribuzione delle credenziali per la delega dell'accesso allo spazio di archiviazione.
Prima di iniziare
- Leggi l'articolo Informazioni sul catalogo di runtime Lakehouse per capire come funziona il catalogo di runtime Lakehouse e i limiti del servizio.
- 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, 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.
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.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare un catalogo e registrare tabelle, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Per creare un catalogo:
- BigLake Admin (
roles/biglake.admin) sul tuo progetto - Storage Admin (
roles/storage.admin) sul progetto
- BigLake Admin (
-
Crea (registra) tabelle:
BigLake Admin (
roles/biglake.admin) sul tuo progetto. La registrazione delle tabelle richiede l'autorizzazione specifica per la registrazione delle tabelle (biglake.tables.register), inclusa nel ruolo Amministratore BigLake. -
Utilizza il account di servizio del catalogo di cui è stato eseguito il provisioning automatico in modalità di distribuzione delle credenziali:
Storage Object User (
roles/storage.objectUser) sui bucket Cloud Storage di destinazione. Dopo aver creato il catalogo, concedi esplicitamente il ruolo Storage Object User (roles/storage.objectUser) nei bucket di archiviazione al account di servizio di cui è stato eseguito il provisioning automatico.
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 catalogo.
Crea un catalogo
Segui questi passaggi per creare un catalogo in base alla modalità di credenziali e al tipo di bucket che preferisci. Per saperne di più sui diversi tipi di catalogo, consulta Informazioni sull'endpoint del catalogo REST Apache Iceberg.
Console
Creare un catalogo con più bucket (opzione consigliata)
Questa configurazione consente al catalogo di associare più bucket e di assegnare un nome al catalogo indipendentemente dal nome del bucket.
Apri la pagina Lakehouse nella console Google Cloud .
Fai clic su Crea catalogo.
Per Tipo di catalogo, seleziona Catalogo REST Iceberg.
Per Opzioni del bucket del catalogo Lakehouse, seleziona Catalogo con più bucket.
Per Percorso Cloud Storage del catalogo predefinito, inserisci o cerca il percorso Cloud Storage da utilizzare con il catalogo.
In ID catalogo, inserisci un nome personalizzato per il catalogo.
Per Località principale, seleziona una località. La località deve essere vicina alle regioni del bucket principale.
Fai clic su Continua.
Nel passaggio Percorsi dati, aggiungi altri percorsi Cloud Storage, se necessario.
Fai clic su Continua.
In Authentication method (Metodo di autenticazione), seleziona End-user credentials (Credenziali dell'utente finale) o Credential vending mode (Modalità di distribuzione delle credenziali).
Fai clic su Crea.
Il catalogo viene creato e viene visualizzata la pagina Dettagli catalogo.
Se hai selezionato Modalità di distribuzione delle credenziali, segui questi passaggi aggiuntivi:
- Nella sezione Metodo di autenticazione, fai clic su Imposta autorizzazioni bucket.
- Nella finestra di dialogo, fai clic su Conferma.
Crea un catalogo con un singolo bucket (gs://)
- Per Tipo di catalogo, seleziona Catalogo REST Iceberg o Metastore Hive.
- In Opzioni del bucket del catalogo Lakehouse, seleziona Catalogo di un singolo bucket.
- Per Percorso Cloud Storage del catalogo predefinito, inserisci o cerca il percorso Cloud Storage da utilizzare con il catalogo.
Per un catalogo con bucket singolo (
gs://), puoi avere un solo catalogo per bucket e il nome del catalogo corrisponde al nome del bucket. - Fai clic su Continua.
- In Authentication method (Metodo di autenticazione), seleziona End-user credentials (Credenziali dell'utente finale) o Credential vending mode (Modalità di distribuzione delle credenziali).
- Fai clic su Crea.
- Se hai selezionato Modalità di distribuzione delle credenziali, segui questi passaggi aggiuntivi:
- Nella sezione Metodo di autenticazione, fai clic su Imposta autorizzazioni bucket.
- Nella finestra di dialogo, fai clic su Conferma.
gcloud
Crea un catalogo con più bucket (opzione consigliata)
Questa configurazione consente al catalogo di associare più bucket e di assegnare un nome al catalogo indipendentemente dal nome del bucket.
Per creare un catalogo multibucket (consigliato), esegui
il comando 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]
Sostituisci quanto segue:
CATALOG_NAME: un nome per il catalogo. Per i cataloghi multibrand (consigliati), questo è il nome del catalogo personalizzato.PROJECT_ID: il tuo Google Cloud ID progetto.DEFAULT_LOCATION: specifica la posizione di archiviazione predefinita per il catalogo. Puoi specificare un bucket (gs://my-bucket) o un percorso secondario (gs://my-bucket/path). Tutti gli spazi dei nomi e le tabelle nel catalogo devono trovarsi nel percorso specificato. Ad esempio, se specifichigs://my-bucket/path, non puoi creare spazi dei nomi o tabelle ings://my-bucket/another/path.CREDENTIAL_MODE: il metodo di autenticazione. Utilizzaend-userper le credenziali utente finale ovended-credentialsper la modalità di distribuzione delle credenziali.Nota: se utilizzi la modalità di distribuzione delle credenziali, devi concedere esplicitamente il ruolo Storage Object User (
roles/storage.objectUser) su tutti i bucket di archiviazione associati account di serviziount del runtime Lakehouse del catalogo con provisioning automatico.RESTRICTED_LOCATIONS: (facoltativo) elenco separato da virgole di località di archiviazione consentite aggiuntive, nel formatogs://my-bucket-1/...,gs://my-bucket-2/.... Se specifichi un percorso (ad esempiogs://my-bucket/path), tutti gli spazi dei nomi o le tabelle all'interno di questo bucket devono trovarsi in questo percorso. Tutte le posizioni di spazio di archiviazione sul cloud configurate nella località predefinita e nelle posizioni con limitazioni devono trovarsi nello stesso gruppo di regioni geografiche o giurisdizione (ad esempio Stati Uniti, Europa, Canada o Asia). Ad esempio, non puoi combinare un bucket negli Stati Uniti con un bucket in Europa. Per un elenco delle località supportate, consulta Località del lakehouse.Avviso:evita di configurare percorsi sovrapposti con altri cataloghi per impedire l'esposizione non autorizzata delle credenziali. Per saperne di più, vedi Archiviazione in più bucket.
LOCATION: (facoltativo) la regione principale per il catalogo per garantire l'interoperabilità con BigQuery. Per i bucket Cloud Storage nella regione US (ad esempioUSous-central1) o nella regione EU (ad esempioEUoeurope-west4), specificaUSoEUrispettivamente per garantire che il catalogo sia accessibile e disponibile per le query dalle multiregioni BigQuery corrispondenti. Per saperne di più, consulta Regioni dei bucket e dei cataloghi.
Crea un catalogo con un singolo bucket (gs://)
Per creare un catalogo a un solo bucket (gs://), esegui questo comando:
gcloud biglake iceberg catalogs create \ CATALOG_NAME \ --project PROJECT_ID \ --catalog-type gcs-bucket \ --credential-mode CREDENTIAL_MODE
Sostituisci quanto segue:
CATALOG_NAME: un nome per il catalogo. Per i cataloghi a un solo bucket (gs://), questo corrisponde all'ID bucket Cloud Storage utilizzato con il catalogo REST.PROJECT_ID: il tuo Google Cloud ID progetto.CREDENTIAL_MODE: il metodo di autenticazione. Utilizzaend-userper le credenziali utente finale ovended-credentialsper la modalità di distribuzione delle credenziali.
REST
Crea un catalogo REST Iceberg
Per creare un endpoint di gestione del catalogo utilizzando l'API REST, invia una richiesta POST
all'endpoint CreateIcebergCatalog:
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: il tuo ID progetto Google Cloud .CATALOG_ID: l'ID del catalogo di runtime Lakehouse.