Saltar al contenido principal
En las guías anteriores, consultó formatos de tabla abiertos directamente y cargó datos en MergeTree para análisis rápidos. En muchas arquitecturas, los datos también deben fluir en la otra dirección: de ClickHouse de vuelta a formatos de tabla abiertos. Esto suele responder a dos escenarios habituales:
  • Traslado a almacenamiento a largo plazo - Los datos llegan a ClickHouse como una capa de analítica en tiempo real, que alimenta dashboards e informes operativos. Una vez que los datos salen de su ventana en tiempo real, pueden escribirse en Iceberg en almacenamiento de objetos para una retención duradera y rentable en un formato interoperable.
  • ETL inverso - Las transformaciones, agregaciones y enriquecimiento realizados dentro de ClickHouse producen conjuntos de datos derivados que las herramientas posteriores y otros equipos necesitan consumir. Escribir estos resultados en tablas Iceberg los pone a disposición del ecosistema de datos en general.
En ambos casos, INSERT INTO SELECT le permite mover datos desde tablas de ClickHouse a tablas Iceberg almacenadas en almacenamiento de objetos.
Actualmente, la escritura en formatos de tabla abiertos solo es compatible con tablas Iceberg. La compatibilidad parcial con tablas Delta Lake está en desarrollo. Las tablas no deben estar gestionadas por un catálogo.

Preparar un conjunto de datos de origen

Para esta guía, usaremos el conjunto de datos UK Price Paid, un registro público de todas las transacciones de compraventa de viviendas en Inglaterra y Gales.

Crear y poblar una tabla MergeTree

Pueble la tabla directamente desde la fuente CSV pública:

Escribir datos en una tabla Iceberg

Crear la tabla Iceberg

Para escribir datos en Iceberg, cree una tabla con el motor de tabla IcebergS3. Tenga en cuenta que el esquema debe simplificarse con respecto a la tabla de origen MergeTree. ClickHouse admite un sistema de tipos más amplio que Iceberg y que los archivos Parquet subyacentes; tipos como Enum, LowCardinality y UInt8 no son compatibles con Iceberg y deben convertirse a tipos compatibles.

Insertar un subconjunto de datos

Use INSERT INTO SELECT para escribir datos de la tabla MergeTree en la tabla Iceberg. En este ejemplo, escribimos solo las transacciones de Londres:

Consultar la tabla Iceberg

Los datos ahora se almacenan en formato Iceberg en el almacenamiento de objetos y pueden consultarse desde ClickHouse o desde cualquier otra herramienta que lea Iceberg:

Escribir resultados agregados

Las tablas Iceberg no se limitan a almacenar filas sin procesar. También pueden contener los resultados de agregaciones y transformaciones: los resultados de procesos de ETL realizados dentro de ClickHouse. Esto resulta útil para publicar resúmenes precalculados en un lakehouse para su consumo posterior.

Crear una tabla Iceberg para datos agregados

Insertar datos agregados

Calcule el precio medio de las propiedades por municipio y escriba los resultados directamente en Iceberg:

Consultar la tabla agregada

Otras herramientas —y otras instancias de ClickHouse— ya pueden leer este conjunto de datos precalculado:
Última modificación el 10 de junio de 2026