La registrazione di una tabella Apache Iceberg esistente integra i relativi metadati nel catalogo di runtime di Lakehouse, rendendo i dati della tabella disponibili per le query e la gestione all'interno di uno spazio dei nomi. Questo processo è diverso dalla creazione di tabelle, che inizializza una nuova struttura di tabella vuota e il relativo spazio di archiviazione.
Prima di iniziare
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .
-
Abilita l'API BigLake, se non è già abilitata.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli. - Configura il catalogo runtime Lakehouse con l'endpoint del catalogo REST Apache Iceberg.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per registrare una tabella, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto e sul bucket di archiviazione:
-
Registra un tavolo:
- BigLake Admin (
roles/biglake.admin) - il tuo progetto - Amministratore Storage (
roles/storage.admin): il bucket Cloud Storage di destinazione
- BigLake Admin (
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.
Registrare un tavolo
Registra una tabella Iceberg esistente.
gcloud
Per registrare una tabella utilizzando gcloud, esegui il comando gcloud biglake iceberg tables register.
gcloud biglake iceberg tables register TABLE_NAME \ --project="PROJECT_ID" \ --catalog="CATALOG_ID" \ --namespace="NAMESPACE_NAME" \ --metadata-location="METADATA_LOCATION" \ [--overwrite]
Sostituisci quanto segue:
TABLE_NAME: il nome da assegnare alla tabella registrata.PROJECT_ID: l'ID progetto Google Cloud .CATALOG_ID: l'ID catalogo.NAMESPACE_NAME: il nome dello spazio dei nomi del catalogo.METADATA_LOCATION: l'URI Cloud Storage dell'ultimo file JSON dei metadati per la tabella, ad esempiogs://my-bucket/path/to/metadata/00001.metadata.json.--overwrite: (facoltativo) sovrascrivi la tabella se esiste già.
REST
Per registrare una tabella Iceberg utilizzando l'API REST, invia una richiesta POST all'endpoint
RegisterIcebergTable:
POST /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces/NAMESPACE_NAME/register
Il corpo della richiesta deve contenere un payload JSON con la seguente struttura:
{
"name": "TABLE_NAME",
"metadata-location": "METADATA_LOCATION",
"overwrite": OVERWRITE
}
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto Google Cloud .CATALOG_ID: l'ID catalogo.NAMESPACE_NAME: il nome dello spazio dei nomi del catalogo.TABLE_NAME: il nome della tabella registrata.METADATA_LOCATION: l'URI Cloud Storage dell'ultimo file JSON dei metadati per la tabella.OVERWRITE:trueper sovrascrivere se la tabella esiste, altrimentifalse.
Passaggi successivi
- Scopri come elencare le tabelle.
- Scopri come eseguire una query su una tabella.
- Scopri come gestire gli elenchi di controllo degli accessi delle tabelle.