El conector de E/S administrado de Apache Beam te permite ingerir registros de captura de datos modificados (CDC) de transmisión desde tablas de Apache Iceberg a través de un catálogo de REST de Lakehouse. Esta integración procesa actualizaciones continuas directamente en tus canalizaciones de transmisión.
La E/S administrada no admite actualizaciones automáticas de canalizaciones para el CDC de Apache Iceberg. Además, la transformación solo procesa instantáneas de solo anexar. Aún no se admiten los flujos de cambios completos del CDC. Para las lecturas o escrituras por lotes estándar en otros tipos de catálogos, consulta E/S administrada.
Funciones
La E/S administrada admite las siguientes capacidades para Apache Iceberg:
| Catálogos |
|
|---|---|
| Capacidades de lectura | Lectura por lotes |
| Capacidades de escritura |
|
Para las tablas de BigQuery para Apache Iceberg, usa el conector BigQueryIO con la API de BigQuery Storage. La tabla ya debe existir, ya que 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 agregar. El CDC completo aún no está disponible.
Requisitos previos
- Configura Lakehouse. Configura tu Google Cloud proyecto con los permisos necesarios siguiendo los pasos que se indican en Usa el catálogo de entorno de ejecución de Lakehouse con el catálogo de REST de Iceberg. Asegúrate de comprender las limitaciones del catálogo REST de Lakehouse Iceberg que se describen en esa página.
- Crea una tabla 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 Streaming Write to Apache Iceberg with Lakehouse REST Catalog.
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 E/S administradas.
- Obtén más información sobre el catálogo de REST de Lakehouse.