Per scrivere da Dataflow ad Apache Iceberg, utilizza il connettore I/O gestito.
L'I/O gestito supporta le seguenti funzionalità per Apache Iceberg:
Cataloghi |
|
---|---|
Funzionalità di lettura | Lettura batch |
Capacità di scrittura |
|
Per le tabelle BigQuery per Apache Iceberg,
utilizza il
connettore BigQueryIO
con l'API BigQuery Storage. La tabella deve già esistere; la creazione dinamica della tabella non è supportata.
Dipendenze
Aggiungi le seguenti dipendenze al tuo progetto:
Java
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-managed</artifactId>
<version>${beam.version}</version>
</dependency>
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-io-iceberg</artifactId>
<version>${beam.version}</version>
</dependency>
Configurazione
L'I/O gestito utilizza i seguenti parametri di configurazione per Apache Iceberg:
Configurazione di lettura e scrittura | Tipo di dati | Descrizione |
---|---|---|
table |
string | L'identificatore della tabella Apache Iceberg. Esempio:
"db.table1" . |
catalog_name |
string | Il nome del catalogo. Esempio: "local" . |
catalog_properties |
mappa | Una mappa delle proprietà di configurazione per il catalogo Apache Iceberg. Le proprietà richieste dipendono dal catalogo. Per saperne di più, consulta
CatalogUtil nella documentazione di Apache Iceberg. |
config_properties |
mappa | Un insieme facoltativo di proprietà di configurazione Hadoop. Per saperne di più, consulta
CatalogUtil nella documentazione di Apache Iceberg. |
Scrivere la configurazione | Tipo di dati | Descrizione |
triggering_frequency_seconds |
integer | Per le pipeline di scrittura in streaming, la frequenza con cui il sink tenta di produrre snapshot, in secondi. |
Destinazioni dinamiche
Managed I/O per Apache Iceberg supporta le destinazioni dinamiche. Anziché scrivere in una singola tabella fissa, il connettore può selezionare dinamicamente una tabella di destinazione in base ai valori dei campi all'interno dei record in entrata.
Per utilizzare le destinazioni dinamiche, fornisci un modello per il parametro di configurazione table
. Per ulteriori informazioni, consulta Destinazioni dinamiche.
Esempi
Gli esempi seguenti mostrano come utilizzare Managed I/O per scrivere in Apache Iceberg.
Scrivi in una tabella Apache Iceberg
Il seguente esempio scrive dati JSON in memoria in una tabella Apache Iceberg.
Java
Per eseguire l'autenticazione in Dataflow, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Scrivere con destinazioni dinamiche
L'esempio seguente scrive in tabelle Apache Iceberg diverse in base a un campo nei dati di input.
Java
Per eseguire l'autenticazione in Dataflow, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Passaggi successivi
- Leggi da Apache Iceberg.
- Scopri di più su I/O gestito.