Gestión de E/S admite las siguientes funciones de Apache Iceberg:
Catálogos |
|
---|---|
Funciones de lectura | Lectura por lotes |
Funciones de escritura |
|
En el caso de las tablas de BigQuery para Apache Iceberg,
usa el
conector BigQueryIO
con la API Storage de BigQuery. La tabla ya debe existir. No se admite la creación de tablas dinámicas.
Requisitos
Los siguientes SDKs admiten la entrada/salida gestionada para Apache Iceberg:
- Versión 2.58.0 o posterior del SDK de Apache Beam para Java
- Versión 2.61.0 o posterior del SDK de Apache Beam para Python
Configuración
La E/S gestionada de Apache Iceberg admite los siguientes parámetros de configuración:
ICEBERG
Leer
Configuración | Tipo | Descripción |
---|---|---|
tabla |
str
|
Identificador de la tabla Iceberg. |
catalog_name |
str
|
Nombre del catálogo que contiene la tabla. |
catalog_properties |
map[str, str]
|
Propiedades usadas para configurar el catálogo de Iceberg. |
config_properties |
map[str, str]
|
Propiedades transferidas a la configuración de Hadoop. |
drop |
list[str]
|
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
|
Predicado similar a SQL para filtrar datos en el momento del análisis. Por ejemplo: "id > 5 AND status = 'ACTIVE'". Usa la sintaxis de Apache Calcite: https://calcite.apache.org/docs/reference.html. |
keep |
list[str]
|
Un subconjunto de nombres de columnas que se leerán exclusivamente. Si es nulo o está vacío, se leerán todas las columnas. |
ICEBERG
Escribir
Configuración | Tipo | Descripción |
---|---|---|
tabla |
str
|
Identificador de tabla completo. También puede 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 usadas para configurar el catálogo de Iceberg. |
config_properties |
map[str, str]
|
Propiedades transferidas a la configuración de Hadoop. |
drop |
list[str]
|
Lista de nombres de campos que se van a eliminar del registro de entrada antes de escribir. Se excluye mutuamente con "keep" y "only". |
keep |
list[str]
|
Lista de nombres de campos que se conservarán en el registro de entrada. El resto de los campos se descartan antes de escribir. Se excluye mutuamente con "drop" y "only". |
solo |
str
|
Nombre de un campo de registro que se debe escribir. Se excluye mutuamente con "keep" y "drop". |
partition_fields |
list[str]
|
Campos que se usan para crear una especificación de partición que se aplica cuando se crean tablas. En el caso del campo "foo", las transformaciones de partición disponibles son las siguientes:
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 Iceberg que se definirán en la tabla cuando se cree. Para obtener más información sobre las propiedades de las tablas, visita https://iceberg.apache.org/docs/latest/configuration/#table-properties. |
triggering_frequency_seconds |
int32
|
En el caso de una canalización de streaming, define la frecuencia con la que se generan las instantáneas. |
Siguientes pasos
Para obtener más información y ejemplos de código, consulta los siguientes temas: