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.
Requisitos
Los siguientes SDKs admiten la E/S administrada para Apache Iceberg:
- SDK de Apache Beam para Java, versión 2.58.0 o posterior
- SDK de Apache Beam para Python, versión 2.61.0 o posterior
Configuración
La E/S administrada para Apache Iceberg admite los siguientes parámetros de configuración:
Lectura de ICEBERG
| Configuración | Tipo | Descripción |
|---|---|---|
| Tabla |
str
|
Es el identificador de la tabla de Iceberg. |
| catalog_name |
str
|
Nombre del catálogo que contiene la tabla. |
| catalog_properties |
map[str, str]
|
Propiedades que se usan para configurar el catálogo de Iceberg. |
| config_properties |
map[str, str]
|
Propiedades que se pasan a la configuración de Hadoop. |
| drop |
list[str]
|
Es un subconjunto de nombres de columnas que se excluirán de la lectura. Si es nulo o está vacío, se leerán todas las columnas. |
| filtrar |
str
|
Es un predicado similar a SQL para filtrar datos en el momento del análisis. Ejemplo: "id > 5 AND status = 'ACTIVE'". Usa la sintaxis de Apache Calcite: https://calcite.apache.org/docs/reference.html |
| keep |
list[str]
|
Es un subconjunto de nombres de columnas que se leerán de forma exclusiva. Si es nulo o está vacío, se leerán todas las columnas. |
Escritura de ICEBERG
| Configuración | Tipo | Descripción |
|---|---|---|
| Tabla |
str
|
Un identificador de tabla completamente calificado. También puedes proporcionar una plantilla para escribir en varios destinos dinámicos, por ejemplo: `dataset.my_{col1}_{col2.nested}_table`. |
| catalog_name |
str
|
Nombre del catálogo que contiene la tabla. |
| catalog_properties |
map[str, str]
|
Propiedades que se usan para configurar el catálogo de Iceberg. |
| config_properties |
map[str, str]
|
Propiedades que se pasan a la configuración de Hadoop. |
| direct_write_byte_limit |
int32
|
Para una canalización de transmisión, establece el límite para pasar los paquetes a la ruta de escritura directa. |
| drop |
list[str]
|
Es una lista de nombres de campos que se deben descartar del registro de entrada antes de la escritura. Es mutuamente excluyente con "keep" y "only". |
| keep |
list[str]
|
Es una lista de nombres de campos que se conservarán en el registro de entrada. Se descartan todos los demás campos antes de la escritura. Es mutuamente excluyente con "drop" y "only". |
| Solo |
str
|
Es el nombre de un solo campo de registro que se debe escribir. Es mutuamente excluyente con "keep" y "drop". |
| partition_fields |
list[str]
|
Son los campos que se usan para crear una especificación de partición que se aplica cuando se crean las tablas. Para un campo "foo", las transformaciones de partición disponibles son:
Para obtener más información sobre las transformaciones de partición, visita https://iceberg.apache.org/spec/#partition-transforms. |
| table_properties |
map[str, str]
|
Propiedades de la tabla de Iceberg que se establecerán en la tabla cuando se cree. Para obtener más información sobre las propiedades de la tabla, visita https://iceberg.apache.org/docs/latest/configuration/#table-properties. |
| triggering_frequency_seconds |
int32
|
Para una canalización de transmisión, establece la frecuencia con la que se producen las instantáneas. |
¿Qué sigue?
Para obtener más información y ejemplos de código, consulta los siguientes temas:
- Lee desde Apache Iceberg
- Lee desde Apache Iceberg (IU del compilador de trabajos)
- Escribe en Apache Iceberg