Inserire dati in una tabella

L'inserimento di dati aggiunge nuovi record alla tabella Apache Iceberg.

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 runtime Lakehouse catalogo con l'endpoint del catalogo REST Apache Iceberg.

Ruoli obbligatori

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

  • Scrivi i dati della tabella in modalità di vendita delle credenziali: BigLake Editor (roles/biglake.editor) - il progetto
  • Scrivi i dati della tabella in modalità di vendita non 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.

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 scoprire di più sull'utilizzo delle tabelle Apache Iceberg in particolare, 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 attivate in modi diversi a seconda di dove viene creata la tabella:

  • Da BigQuery: BigQuery DML e la gestione automatica delle tabelle sono attivati 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.

Inserire i dati nella tabella

Inserisci dati di esempio nella tabella.

Per inserire i dati da BigQuery, la tabella deve avere BigQuery DML abilitato (gcp.biglake.bigquery-dml.enabled = true). Per istruzioni dettagliate, consulta Configurare le opzioni della tabella.

Spark

spark.sql("INSERT INTO TABLE_NAME VALUES (1, \"first row\"), (2, \"second row\"), (3, \"third row\");")

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

INSERT INTO TABLE_NAME VALUES (1, 'first row'), (2, 'second row'), (3, 'third row');

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'
)

BigQuery

Per inserire i dati in una tabella Apache Iceberg nel catalogo runtime Lakehouse da BigQuery, la tabella deve avere BigQuery DML abilitato. Utilizza la seguente istruzione INSERT di GoogleSQL:

INSERT INTO `PROJECT_ID.CATALOG_ID.NAMESPACE.TABLE_NAME` VALUES (1, "foo");

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: il nome della tabella Iceberg.

Passaggi successivi