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 |
|
---|---|
Cómo leer las capacidades | Lectura por lotes |
Funciones 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. 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>
Configuración
La E/S administrada usa los siguientes parámetros de configuración para Apache Iceberg:
Lee y escribe la configuración | Tipo de datos | Descripción |
---|---|---|
table |
string | Es el identificador de la tabla de Apache Iceberg. Examplo:
"db.table1" . |
catalog_name |
string | Es el nombre del catálogo. Ejemplo: "local" . |
catalog_properties |
mapa | Un mapa de propiedades de configuración para el catálogo de Apache Iceberg. Las propiedades obligatorias dependen del catálogo. Para obtener más información, consulta CatalogUtil en la documentación de Apache Iceberg. |
config_properties |
mapa | Un conjunto opcional de propiedades de configuración de Hadoop. Para obtener más información, consulta CatalogUtil en la documentación de Apache Iceberg. |
Cómo escribir la configuración | Tipo de datos | Descripción |
triggering_frequency_seconds |
integer | Para las canalizaciones de escritura de transmisión, es la frecuencia con la que el receptor intenta producir instantáneas, en segundos. |
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 campo 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.
Ejemplo
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.
¿Qué sigue?
- Lee desde Apache Iceberg.
- Obtén más información sobre el E/S administrado.