Crea una tabella

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

Se non specifichi una località di archiviazione esplicita a livello di spazio dei nomi o tabella durante la creazione della tabella, il sistema crea automaticamente i metadati della tabella e le directory dei 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.

Prima di iniziare

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

  2. Abilita l'API BigLake.

    Ruoli necessari 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

  3. Configura il catalogo runtime Lakehouse con l'endpoint del catalogo REST Apache Iceberg.

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:

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

Funzionalità e supporto delle tabelle

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

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 Eseguire l'upgrade delle tabelle Iceberg V1 a V2.

Utilizzare le opzioni della tabella (anteprima)

Puoi attivare l'utilizzo delle funzionalità gestite di BigQuery, come BigQuery Data Manipulation Language (DML) e la gestione automatica delle tabelle, configurando proprietà specifiche della tabella. Queste funzionalità vengono abilitate 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 la funzionalità, devi configurare in modo esplicito le proprietà della tabella. Per ulteriori informazioni, consulta Configurare le opzioni della tabella.

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. Per Formato tabella, seleziona Iceberg.

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

  6. 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 spazio dei nomi.
  • TABLE_NAME: un nome per la tabella.

Per abilitare 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 del tuo 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 gcloud, esegui il gcloud biglake iceberg tables create comando.

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: l'ID del tuo Google Cloud progetto.
  • CATALOG_ID: l'ID del 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 runtime Lakehouse da BigQuery, utilizza la seguente istruzione CREATE TABLE di GoogleSQL. Quando crei una tabella da BigQuery, BigQuery DML e la gestione automatica delle tabelle sono abilitati per impostazione predefinita.

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

Sostituisci quanto segue:

  • PROJECT_ID: il tuo Google Cloud ID progetto
  • CATALOG_ID: l'ID del catalogo 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 POST richiesta all' CreateIcebergTable endpoint:

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.
  • NAMESPACE_NAME: il nome dello spazio dei nomi del catalogo.

Passaggi successivi