Para escribir desde Dataflow en Apache Iceberg, usa el conector de E/S administrado.
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.
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>
Destinos dinámicos
La E/S administrada para Apache Iceberg admite destinos dinámicos. En lugar de escribir en una sola tabla fija, el conector puede seleccionar de forma dinámica una tabla de destino según los valores de los campos dentro de los registros entrantes.
Para usar destinos dinámicos, proporciona una plantilla para el parámetro de configuración table. Para obtener más información, consulta
Destinos dinámicos.
Ejemplos
En los siguientes ejemplos, se muestra cómo usar la E/S administrada para escribir en Apache Iceberg.
Escribe en una tabla de Apache Iceberg
En el siguiente ejemplo, se escriben datos JSON en la memoria en una 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.
Escribe con destinos dinámicos
En el siguiente ejemplo, se escribe en diferentes tablas de Apache Iceberg según un campo de los datos de entrada.
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?
- Lee desde Apache Iceberg.
- Escribe por transmisión en Apache Iceberg con Lakehouse para el catálogo de REST de Apache Iceberg.
- Obtén más información sobre la E/S administrada.