Saltar al contenido principal
ClickHouse proporciona funciones de tabla para consultar datos almacenados en formatos de tabla abiertos directamente en el almacenamiento de objetos. No es necesario conectarse a un catálogo externo: los datos se consultan in situ, de forma similar a como AWS Athena lee desde S3. Se especifican directamente en la llamada a la función la ruta de almacenamiento y las credenciales, y ClickHouse se encarga del resto. Toda la sintaxis y las funciones de ClickHouse SQL están disponibles, y las consultas se benefician de la ejecución en paralelo de ClickHouse y de su eficiente lector nativo de Parquet.
Servidor, local o chDBLos pasos de esta guía pueden ejecutarse con una instalación existente de ClickHouse server. Para consultas ad hoc, también puede usar clickhouse-local y completar el mismo flujo de trabajo sin ejecutar un servidor. Con pequeños ajustes, el proceso también puede realizarse con la distribución embebida de ClickHouse, chDB.
Los siguientes ejemplos usan el dataset hits almacenado en cada formato de lakehouse en S3. Para cada formato de lakehouse, existen funciones específicas para cada proveedor de almacenamiento de objetos.
La función de tabla iceberg (alias de icebergS3) lee tablas Iceberg directamente desde el almacenamiento de objetos. Existen variantes para cada backend de almacenamiento: icebergS3, icebergAzure, icebergHDFS e icebergLocal.Sintaxis de ejemplo:
Compatibilidad con GCSLa variante S3 de las funciones puede usarse con Google Cloud Storage (GCS).
Ejemplo:

Variante de clúster

La función icebergS3Cluster distribuye las lecturas entre múltiples nodos en un clúster de ClickHouse. El nodo iniciador establece conexiones con todos los nodos y distribuye los archivos de datos de forma dinámica. Cada nodo worker solicita y procesa tareas hasta que todos los archivos han sido leídos. icebergCluster es un alias de icebergS3Cluster. También existen variantes para Azure (icebergAzureCluster) y HDFS (icebergHDFSCluster).Sintaxis de ejemplo:
Ejemplo (ClickHouse Cloud):

Motor de tabla

Como alternativa al uso de la función de tabla en cada consulta, puede crear una tabla persistente mediante el motor de tabla Iceberg. Los datos siguen residiendo en object storage y se leen bajo demanda; no se copia ningún dato en ClickHouse. La ventaja es que la definición de tabla se almacena en ClickHouse y puede compartirse entre usuarios y sesiones sin que cada usuario tenga que especificar la ruta de almacenamiento ni las credenciales. Existen variantes del motor para cada backend de almacenamiento: IcebergS3 (o el alias Iceberg), IcebergAzure, IcebergHDFS e IcebergLocal.Tanto el motor de tabla como la función de tabla admiten caché de datos, utilizando el mismo mecanismo de caché que los motores de almacenamiento S3, AzureBlobStorage y HDFS. Además, un caché de metadatos almacena en memoria la información de los archivos de manifiesto, lo que reduce las lecturas repetidas de metadatos de Iceberg. Este caché está habilitado de forma predeterminada mediante la configuración use_iceberg_metadata_files_cache.Sintaxis de ejemplo:El motor de tabla Iceberg es un alias de IcebergS3.
Compatibilidad con GCSLa variante S3 del motor de tabla puede utilizarse con Google Cloud Storage (GCS).
Ejemplo:
Para ver las funcionalidades compatibles, incluidas la poda de particiones, la evolución de esquemas, el viaje en el tiempo, el almacenamiento en caché y más, consulte la matriz de compatibilidad. Para obtener la referencia completa, consulte la documentación de la función de tabla iceberg y del motor de tabla Iceberg.
Última modificación el 29 de junio de 2026