L'inserimento di dati aggiunge nuovi record e file di dati alla tabella Apache Iceberg.
Prima di iniziare
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .
-
Abilita l'API BigLake.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (
roles/serviceusage.serviceUsageAdmin), che include l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli. - Configura il catalogo runtime Lakehouse con l'endpoint del catalogo REST Apache Iceberg.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per inserire dati in una tabella, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto e nel bucket di archiviazione:
-
Scrivi i dati della tabella in modalità di distribuzione delle credenziali:
Editor BigLake (
roles/biglake.editor): il progetto -
Scrivi i dati della tabella in modalità di distribuzione delle credenziali non attiva:
- BigLake Editor (
roles/biglake.editor) - il progetto - Storage Object User (
roles/storage.objectUser): il bucket Cloud Storage
- BigLake Editor (
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 del runtime Lakehouse, è utile comprendere i diversi tipi di tabelle e le relative funzionalità di attivazione. Per saperne di più sull'utilizzo delle tabelle Apache Iceberg in particolare, 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, vedi Eseguire l'upgrade delle tabelle Iceberg V1 alla versione V2.
Utilizzare le opzioni della tabella (anteprima)
Puoi attivare l'utilizzo delle funzionalità gestite di BigQuery, come il DML (Data Manipulation Language) 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:DML di BigQuery e 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 saperne di più, consulta Configurare le opzioni della tabella.
Inserire dati nella tabella
Inserisci dati di esempio nella tabella.
Per inserire i dati da BigQuery, la tabella deve avere abilitato BigQuery DML
(gcp.biglake.bigquery-dml.enabled = true). Consulta Configura le opzioni della tabella per istruzioni dettagliate.
Spark
spark.sql("INSERT INTO TABLE_NAME VALUES (1, \"first row\"), (2, \"second row\"), (3, \"third row\");")
Per attivare l'interoperabilità in 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 attivare l'interoperabilità in 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 dati in una tabella Apache Iceberg nel catalogo del runtime Lakehouse da BigQuery, la tabella deve avere abilitato BigQuery DML. Utilizza la seguente istruzione GoogleSQL INSERT:
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
- Scopri come interrogare una tabella.