Skip to main content

Descripción

Apache Arrow incluye dos formatos integrados de almacenamiento columnar. ClickHouse admite operaciones de lectura y escritura en estos formatos. Arrow es el formato de Apache Arrow en “modo de archivo”, diseñado para el acceso aleatorio en memoria.

Correspondencia entre tipos de datos

La siguiente tabla muestra los tipos de datos admitidos y cómo se corresponden con los tipos de datos de ClickHouse en las consultas INSERT y SELECT. Los tipos Array pueden anidarse y pueden tener como argumento un valor de tipo Nullable. Los tipos Tuple y Map también pueden anidarse. El tipo DICTIONARY es compatible con las consultas INSERT, y para las consultas SELECT existe la configuración output_format_arrow_low_cardinality_as_dictionary, que permite generar el tipo LowCardinality como un tipo DICTIONARY. Tenga en cuenta que puede haber valores no utilizados en el diccionario LowCardinality, lo que puede dar lugar a valores no utilizados en el DICTIONARY de Arrow en la salida. Tipos de datos de Arrow no compatibles:
  • JSON
  • ENUM.
Los tipos de datos de las columnas de la tabla de ClickHouse no tienen que coincidir con los campos de datos de Arrow correspondientes. Al insertar datos, ClickHouse interpreta los tipos de datos según la tabla anterior y luego convierte los datos al tipo de dato definido para la columna de la tabla de ClickHouse.

Ejemplo de uso

En el ejemplo siguiente, usamos el conjunto de datos forex disponible en el Playground de SQL de ClickHouse.

Selección de datos

Seleccionamos un día de cotizaciones de EUR/USD del Playground de SQL y lo guardamos en un archivo local forex_eurusd.arrow. Consultamos el Playground de SQL a través de la interfaz HTTP, donde el host es sql-clickhouse.clickhouse.com y el usuario es demo (que no tiene contraseña):

Leer de nuevo el archivo

Ahora podemos volver a leer el archivo Arrow local con clickhouse-local usando la función de tabla file. El archivo es autodescriptivo, por lo que el formato Arrow infiere el esquema automáticamente:
Response

Insertar datos

Para cargar un archivo Arrow en una tabla de ClickHouse, páselo por una tubería a clickhouse-client con FORMAT Arrow:

Configuración del formato

Última modificación el 23 de julio de 2026