Registrare un tavolo

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

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

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

    Abilitare l'API

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

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 esempio gs://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: true per sovrascrivere se la tabella esiste, altrimenti false.

Passaggi successivi