Para leer eventos de captura de datos modificados (CDC) de Apache Iceberg con Lakehouse para Apache Iceberg mediante el catálogo de REST, usa el conector de E/S administrado de Apache Beam.
La E/S administrada admite las siguientes funciones para Apache Iceberg:
| Catálogos |
|
|---|---|
| Funciones de lectura | Lectura por lotes |
| Funciones de escritura |
|
Para las tablas de BigQuery para Apache Iceberg,
usa el
BigQueryIO conector
con la API de BigQuery Storage. La tabla ya debe existir; no se admite la creación de tablas dinámicas.
Limitaciones
- La CDC de Apache Iceberg solo se admite con la API administrada. Las funciones del servicio de transformaciones administradas aún no están habilitadas. Espera cambios que afecten la retrocompatibilidad.
- La API administrada de CDC solo lee instantáneas de solo anexar. La CDC completa aún no está disponible.
Requisitos previos
- Configura Lakehouse para Apache Iceberg. Configura tu Google Cloud proyecto con los permisos necesarios siguiendo Usa el catálogo de tiempo de ejecución de Lakehouse con el catálogo de REST de Iceberg. Asegúrate de comprender las limitaciones de Lakehouse para el catálogo de REST de Apache Iceberg que se describen en esa página.
- Crea una tabla de Iceberg de origen. En el ejemplo que se muestra aquí, se supone que tienes una tabla de Apache Iceberg. Para crear una, puedes usar la canalización que se muestra en Escritura por transmisión en Apache Iceberg con Lakehouse para Apache Iceberg para el catálogo de REST de Apache Iceberg.
Dependencias
Agrega las siguientes dependencias a tu proyecto:
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>
Ejemplo
En el siguiente ejemplo, se muestra una canalización de transmisión que lee eventos de CDC desde una tabla de Apache Iceberg, agrega clics de usuarios y escribe los resultados en otra tabla de Apache Iceberg.
Java
Para autenticarte en Dataflow, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
¿Qué sigue?
- Obtén más información sobre la E/S administrada.
- Obtén más información sobre Lakehouse para el catálogo de REST de Apache Iceberg.