Modificare una tabella

La modifica di una tabella consente di far evolvere lo schema (ad esempio aggiungendo colonne) e aggiornare le proprietà dei metadati della tabella.

Le modifiche vengono gestite dal catalogo runtime Lakehouse e sottoposte a commit tramite la specifica dell'API REST Catalog Iceberg open source (POST /v1/{prefix}/namespaces/{namespace}/tables/{table} per CommitTable/UpdateIcebergTable).

Prima di iniziare

Consulta la panoramica della tabella per comprendere i diversi tipi di tabelle e le implicazioni del loro utilizzo.

  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 modificare una tabella, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto e nel bucket di archiviazione:

  • Modifica tabella in modalità di distribuzione delle credenziali: BigLake Editor (roles/biglake.editor) - il progetto
  • Modifica tabella in modalità di distribuzione delle credenziali:
    • BigLake Editor (roles/biglake.editor) - il progetto
    • Storage Object User (roles/storage.objectUser) - il bucket Cloud Storage

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.

Modificare una tabella

Aggiungi una colonna alla tabella:

Console

  1. Nella Google Cloud console, vai a Lakehouse.

    Vai a Lakehouse

  2. Seleziona un catalogo esistente o creane uno se non ne hai.

  3. Nella tabella Dettagli spazio dei nomi, seleziona una tabella ed espandi le opzioni del menu.

  4. Fai clic su Modifica.

  5. Aggiorna i valori della tabella nella finestra di dialogo.

  6. Fai clic su Salva.

Spark

spark.sql("ALTER TABLE TABLE_NAME ADD COLUMNS ( desc string);")
spark.sql("DESCRIBE NAMESPACE_NAME.TABLE_NAME").show()

Trino

ALTER TABLE TABLE_NAME ADD COLUMN desc varchar;
DESCRIBE SCHEMA_NAME.TABLE_NAME;

REST

Per eseguire il commit delle modifiche a una tabella Iceberg utilizzando l'API REST, invia una richiesta POST all'endpoint UpdateIcebergTable (CommitTable):

POST /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces/NAMESPACE_NAME/tables/TABLE_NAME

Il corpo della richiesta deve contenere un payload JSON CommitTableRequest Iceberg valido che definisce il requisito di base e l'elenco degli aggiornamenti dei metadati da applicare.

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del tuo Google Cloud progetto.
  • CATALOG_ID: l'ID del catalogo runtime Lakehouse.
  • NAMESPACE_NAME: il nome dello spazio dei nomi del catalogo.
  • TABLE_NAME: il nome della tabella Iceberg.

Passaggi successivi