- 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.
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
Crear y poblar una tabla MergeTree
Escribir datos en una tabla Iceberg
Crear la tabla Iceberg
icebergS3. Esta guía muestra cómo crear y poblar tablas Iceberg independientes, por lo que utiliza el motor de tabla IcebergS3 con un esquema explícito. Las ubicaciones de S3 de ejemplo ya contienen las tablas completas; para ejecutar las sentencias CREATE e INSERT, sustituya ambas ubicaciones por prefijos de S3 vacíos con permisos de escritura y credenciales bajo su control.
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
INSERT INTO SELECT para escribir datos de la tabla MergeTree en la tabla Iceberg. En este ejemplo, escribimos solo las transacciones de Londres:
Este ejemplo requiere la configuración allow_insert_into_iceberg. Consulte la matriz de compatibilidad para conocer la madurez y las limitaciones actuales.