En resumenUna guía práctica para consultar tablas de lago de datos, acelerarlas con MergeTree y escribir de nuevo los resultados en Iceberg. Todos los pasos usan datasets públicos y funcionan tanto en Cloud como en OSS.
1
Consultar datos de Iceberg directamente
La forma más rápida de empezar es con la función de tabla Ejecuta una consulta:ClickHouse lee los metadatos de Iceberg directamente desde S3 e infiere el esquema automáticamente. El mismo enfoque también funciona con
icebergS3(): apúntala a una tabla Iceberg en S3 y haz la consulta de inmediato, sin necesidad de configuración.Inspecciona el esquema:deltaLake(), hudi() y paimon().Más información: Consultar directamente formatos de tabla abiertos abarca los cuatro formatos, las variantes de cluster para lecturas distribuidas y las opciones de backend de almacenamiento (S3, Azure, HDFS, local).2
Cree una tabla persistente con el motor de tabla
Para acceder repetidamente, cree una tabla con el motor de tabla Iceberg para no tener que indicar la ruta cada vez. Los datos permanecen en S3 — no se duplica ningún dato:Ahora consúltala como cualquier otra tabla de ClickHouse:El motor de tabla admite caché de datos, caché de metadatos, evolución del esquema y viaje en el tiempo. Consulta la guía Consulta directa para obtener más información sobre las características del motor de tabla y la matriz de compatibilidad para ver una comparación completa de características.
3
Conectarse a un catálogo
La mayoría de las organizaciones administran las tablas de Iceberg mediante un catálogo de datos para centralizar los metadatos de las tablas y el descubrimiento de datos. ClickHouse permite conectarse a su catálogo mediante el motor de base de datos Cada tipo de catálogo requiere su propia configuración de conexión; consulte las guías sobre catálogos para ver la lista completa de catálogos compatibles y sus opciones de configuración.Explore las tablas y realice consultas:Más información: Conexión a un catálogo de datos muestra una configuración completa de Unity Catalog con ejemplos de Delta e Iceberg.
DataLakeCatalog, lo que expone todas las tablas del catálogo como una base de datos de ClickHouse. Esta es la opción más escalable, ya que, a medida que se crean nuevas tablas de Iceberg, siempre están accesibles en ClickHouse sin necesidad de trabajo adicional.A continuación se muestra un ejemplo de conexión a AWS Glue:Se requieren comillas invertidas alrededor de
<database>.<table> porque ClickHouse no admite de forma nativa más de un espacio de nombres.4
Realiza una consulta
Independientemente del método que hayas usado antes —función de tabla, motor de tabla o catálogo—, el mismo ClickHouse SQL funciona en todos los casos:La sintaxis de la consulta es idéntica; solo cambia la cláusula
FROM. Todas las funciones de ClickHouse SQL, los JOIN y las agregaciones funcionan de la misma manera independientemente de la fuente de datos.5
Cargar un subconjunto en ClickHouse
Consultar Iceberg directamente es práctico, pero el rendimiento está limitado por el ancho de banda de la red y la organización de los archivos. Para cargas de trabajo analíticas, cargue los datos en una tabla nativa MergeTree.Primero, ejecute una consulta filtrada sobre la tabla Iceberg para obtener una referencia:Esta consulta recorre el conjunto de datos completo en S3, ya que Iceberg no tiene en cuenta el filtro Vuelva a ejecutar la misma consulta en la tabla MergeTree:Como
counterid; es de esperar que tarde varios segundos.Ahora crea una tabla MergeTree y carga los datos:counterid es la primera columna de la clave ORDER BY, el índice primario disperso de ClickHouse salta directamente a los gránulos relevantes y solo lee las filas de counterid = 38, en lugar de escanear los 100 millones de filas. El resultado es un aumento drástico de la velocidad.La guía aceleración de analítica va un paso más allá con tipos LowCardinality, índices de texto completo y claves de ordenación optimizadas, y muestra una mejora de ~40x en un conjunto de datos de 283 millones de filas.Más información: Aceleración de analítica con MergeTree abarca la optimización del esquema, la indexación de texto completo y una comparación completa del rendimiento antes y después.6
Escritura en Iceberg
ClickHouse también puede escribir datos de vuelta en tablas de Iceberg, lo que permite flujos de trabajo de ETL inverso: publicar resultados agregados o subconjuntos para que otras herramientas (Spark, Trino, DuckDB, etc.) los consuman.Cree una tabla de Iceberg para la salida:Escriba resultados agregados:La tabla Iceberg resultante se puede leer con cualquier motor compatible con Iceberg.Más información: Escribir datos en formatos de tabla abiertos explica cómo escribir datos sin procesar y resultados agregados con el conjunto de datos UK Price Paid, incluidas las consideraciones de esquema al mapear tipos de ClickHouse a Iceberg.
Siguientes pasos
- Consultas directas — Los cuatro formatos, variantes de clúster, motores de tabla, caché
- Conexión a catálogos — Recorrido completo por Unity Catalog con Delta e Iceberg
- Acelerar la analítica — Optimización del esquema, indexación, demo de aceleración de ~40x
- Escribir en lagos de datos — Escrituras sin procesar, escrituras agregadas, correspondencia de tipos
- Matriz de compatibilidad — Comparación de funcionalidades entre formatos y backends de almacenamiento
- Buenas prácticas — Selección del método de acceso, ajustes de rendimiento y patrones de carga de trabajo