Per leggere gli eventi Change Data Capture (CDC) da Apache Iceberg utilizzando Lakehouse for Apache Iceberg per il catalogo REST, utilizza il connettore I/O gestito di Apache Beam.
Managed I/O 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.
Limitazioni
- La CDC di Apache Iceberg è supportata solo utilizzando l'API gestita. Le funzionalità del servizio di trasformazioni gestite non sono ancora attivate. Prevedi modifiche che influiscono sulla compatibilità con le versioni precedenti
- L'API gestita CDC legge solo gli snapshot di sola aggiunta. Il CDC completo non è ancora disponibile.
Prerequisiti
- Configura Lakehouse for Apache Iceberg. Configura il progetto Google Cloud con le autorizzazioni richieste seguendo la procedura descritta in Utilizzare il catalogo runtime Lakehouse con il catalogo REST Iceberg. Assicurati di comprendere le limitazioni del catalogo REST Iceberg di Lakehouse for Apache Iceberg descritte in questa pagina.
- Crea una tabella Iceberg di origine. L'esempio mostrato qui presuppone che tu disponga di una tabella Apache Iceberg. Per crearne uno, puoi utilizzare la pipeline mostrata in Scrittura in streaming in Apache Iceberg con Lakehouse for Apache Iceberg per il catalogo REST di Apache Iceberg.
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>
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-gcp</artifactId>
<version>${iceberg.version}</version>
</dependency>
Esempio
Il seguente esempio mostra una pipeline di streaming che legge gli eventi CDC da una tabella Apache Iceberg, aggrega i clic degli utenti e scrive i risultati in un'altra tabella Apache Iceberg.
Java
Per eseguire l'autenticazione in Dataflow, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Passaggi successivi
- Scopri di più su I/O gestito.
- Scopri di più su Lakehouse for Apache Iceberg REST Catalog.