Crea una tabella

La creazione di una tabella Apache Iceberg registra i metadati della tabella all'interno di uno spazio dei nomi nel catalogo di runtime di Lakehouse.

Se non specifichi una località di archiviazione esplicita a livello di spazio dei nomi o tabella durante la creazione della tabella, il sistema costruisce automaticamente i metadati della tabella e le directory di dati nella località predefinita del catalogo (derivata dal bucket Cloud Storage di base del catalogo) aggiungendo gli identificatori dello spazio dei nomi e della tabella.

Oltre alle integrazioni del motore di query, il catalogo di runtime di Lakehouse implementa la specifica dell'API del catalogo REST Iceberg open source (POST /v1/{prefix}/namespaces/{namespace}/tables), consentendo ai client REST compatibili di creare tabelle direttamente.

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

  • Tutti:
    • 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.

Creare una tabella

Crea una tabella Iceberg.

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 barra dei menu, fai clic su +Crea tabella.

  4. In Formato tabella, seleziona Iceberg.

  5. In Nome tabella, inserisci un nome tabella univoco.

  6. Fai clic su Crea.

La tabella viene visualizzata nella pagina Dettagli dello spazio dei nomi.

Spark

spark.sql("CREATE TABLE NAMESPACE_NAME.TABLE_NAME (id int, data string) USING ICEBERG;")

spark.sql("DESCRIBE NAMESPACE_NAME.TABLE_NAME").show()

Sostituisci i seguenti valori:

  • NAMESPACE_NAME: il nome del tuo spazio dei nomi
  • TABLE_NAME: un nome per la tabella

Trino

CREATE TABLE SCHEMA_NAME.TABLE_NAME (id int, data varchar);

DESCRIBE SCHEMA_NAME.TABLE_NAME;

Sostituisci i seguenti valori:

  • SCHEMA_NAME: il nome del tuo schema
  • TABLE_NAME: un nome per la tabella

Se utilizzi la federazione del catalogo BigQuery con Trino, non puoi specificare una località per la tabella. Viene sempre utilizzata la località predefinita dello schema.

REST

Per creare una tabella Iceberg utilizzando l'API REST, invia una richiesta POST all'endpoint CreateIcebergTable:

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

Il corpo della richiesta deve contenere un payload JSON CreateTableRequest Iceberg valido che definisce lo schema della tabella, la specifica della partizione e le proprietà iniziali.

Sostituisci quanto segue:

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

Passaggi successivi