Registrare un tavolo

La registrazione di una tabella Apache Iceberg esistente integra i relativi metadati nel catalogo del runtime Lakehouse, rendendo i dati della tabella disponibili per query e gestione all'interno di uno spazio dei nomi. Questa procedura è diversa dalla creazione di tabelle, che inizializza una nuova struttura di tabella vuota e lo spazio di archiviazione associato.

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 dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

    Abilitare l'API

  3. Configura il catalogo del 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 una tabella:
    • 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.

Registra una tabella

Registra una tabella Iceberg esistente.

gcloud

Per registrare una tabella utilizzando gcloud, esegui il gcloud biglake iceberg tables register comando.

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' Google Cloud ID progetto.
  • CATALOG_ID: l'ID del 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 POST richiesta all' RegisterIcebergTable endpoint:

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' Google Cloud ID progetto.
  • CATALOG_ID: l'ID del 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