Crea una tabella

La creazione di una tabella Apache Iceberg inizializza i nuovi metadati e lo spazio di archiviazione della tabella all'interno di uno spazio dei nomi nel catalogo di runtime Lakehouse.

Se vuoi rendere disponibile nel catalogo una tabella Apache Iceberg esistente, consulta Registra una tabella.

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

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 hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

    Abilitare l'API

  3. Configura il catalogo di runtime Lakehouse con l'endpoint del catalogo REST Apache Iceberg. Per attivare la gestione automatica delle tabelle, assicurati che il catalogo utilizzi la modalità di distribuzione delle credenziali.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare una tabella, chiedi all'amministratore di concederti i seguenti ruoli IAM per il progetto e il bucket di archiviazione:

  • Crea 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.

Funzionalità e supporto delle tabelle

Quando utilizzi le tabelle nel catalogo di runtime di Lakehouse, è utile comprendere i diversi tipi di tabelle e le relative funzionalità di attivazione. Per scoprire di più sull'utilizzo specifico delle tabelle Apache Iceberg, consulta Panoramica delle tabelle Apache Iceberg.

Tabelle Iceberg supportate

Sono supportate solo le tabelle Apache Iceberg V2 (GA) e V3 (anteprima). Le tabelle Iceberg V1 non sono supportate. Per eseguire l'upgrade delle tabelle V1 esistenti, consulta Esegui l'upgrade delle tabelle Iceberg V1 alla versione V2.

Utilizza le opzioni della tabella (anteprima)

Puoi attivare l'utilizzo delle funzionalità gestite di BigQuery, come il linguaggio di manipolazione dei dati (DML) di BigQuery e la gestione automatica delle tabelle, configurando proprietà specifiche delle tabelle. Queste funzionalità vengono attivate in modi diversi a seconda di dove viene creata la tabella:

  • Da BigQuery: BigQuery DML e la gestione automatica delle tabelle sono abilitati per impostazione predefinita.
  • Dai motori open source: per attivare l'opzione, devi configurare esplicitamente le proprietà della tabella. Per saperne di più, consulta Configura le opzioni della tabella.

Creare una tabella

Crea una tabella Iceberg. Per attivare la gestione automatica delle tabelle (gcp.biglake.table-management.enabled), il catalogo deve utilizzare la modalità di distribuzione delle credenziali.

Console

  1. Nella console Google Cloud , vai a Lakehouse.

    Vai a Lakehouse

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

  3. Seleziona uno spazio dei nomi esistente o creane uno se non ne hai uno.

  4. Nella barra dei menu, fai clic su + Crea tabella.

  5. In Formato tabella, seleziona Iceberg.

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

  7. (Facoltativo) Nella sezione Proprietà, configura le proprietà della tabella. Questa sezione elenca le proprietà predefinite, come gcp.biglake.bigquery-dml.enabled e gcp.biglake.table-management.enabled.

    Ad esempio, puoi modificare questi valori in true per abilitare il DML o la gestione delle tabelle di BigQuery. La gestione delle tabelle esegue attività in background come la compattazione e la scadenza degli snapshot. Per saperne di più, consulta Configura le opzioni della tabella.

  8. Fai clic su Crea.

La tabella viene visualizzata nella pagina Dettagli spazio dei nomi.

Spark

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

Sostituisci i seguenti valori:

  • NAMESPACE_NAME: il nome del tuo namespace.
  • TABLE_NAME: un nome per la tabella.

Per attivare l'interoperabilità di lettura/scrittura e la gestione delle tabelle (anteprima), aggiungi le proprietà alla clausola TBLPROPERTIES:

TBLPROPERTIES (
  'gcp.biglake.bigquery-dml.enabled' = true,
  'gcp.biglake.table-management.enabled' = true
)

Trino

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

Sostituisci i seguenti valori:

  • SCHEMA_NAME: il nome dello schema.
  • TABLE_NAME: un nome per la tabella.

Per abilitare l'interoperabilità di lettura/scrittura e la gestione delle tabelle (anteprima), aggiungi queste proprietà alla clausola WITH:

WITH (
  "gcp.biglake.bigquery-dml.enabled" = 'true',
  "gcp.biglake.table-management.enabled" = 'true'
)

gcloud

Per creare una tabella utilizzando Google Cloud CLI, esegui il comando gcloud biglake iceberg tables create:

gcloud biglake iceberg tables create \
    --project="PROJECT_ID" \
    --catalog="CATALOG_ID" \
    --namespace="NAMESPACE_NAME" \
    --create-from-file="TABLE_DEFINITION_FILE"

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • CATALOG_ID: l'ID del tuo catalogo.
  • NAMESPACE_NAME: il nome dello spazio dei nomi del catalogo.
  • TABLE_DEFINITION_FILE: il percorso di un file JSON contenente la definizione della tabella Iceberg.

BigQuery

Per creare una tabella Apache Iceberg nel catalogo di runtime di Lakehouse da BigQuery, utilizza la seguente istruzione GoogleSQL CREATE TABLE. Quando crei una tabella da BigQuery, il DML e la gestione delle tabelle di BigQuery sono abilitati per impostazione predefinita. Per utilizzare la gestione automatica delle tabelle, il catalogo deve utilizzare la modalità di distribuzione delle credenziali.

CREATE TABLE `PROJECT_ID.CATALOG_ID.NAMESPACE.TABLE_NAME` (id int, data string);

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto Google Cloud .
  • CATALOG_ID: l'ID del tuo catalogo di runtime Lakehouse.
  • NAMESPACE: il nome dello spazio dei nomi Iceberg.
  • TABLE_NAME: un nome per la tabella Iceberg.

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 Iceberg CreateTableRequest valido che definisce lo schema della tabella, la specifica della partizione e le proprietà iniziali.

Sostituisci quanto segue:

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

Passaggi successivi