- Déchargement vers un stockage à long terme - Les données arrivent dans ClickHouse comme couche d’analytique en temps réel, alimentant des tableaux de bord et le reporting opérationnel. Une fois qu’elles sortent de leur fenêtre temps réel, elles peuvent être écrites vers Iceberg sur du stockage objet pour une conservation durable et économique dans un format interopérable.
- ETL inversé - Les transformations, agrégations et enrichissements effectués dans ClickHouse produisent des jeux de données dérivés que des outils en aval et d’autres équipes doivent consommer. Écrire ces résultats dans des tables Iceberg les rend disponibles dans l’ensemble de l’écosystème de données.
INSERT INTO SELECT vous permet de déplacer des données depuis des tables ClickHouse vers des tables Iceberg stockées sur du stockage objet.
L’écriture vers des formats de table ouverts n’est actuellement prise en charge que pour les tables Iceberg. La prise en charge partielle des tables Delta Lake est en cours de développement. Les tables ne doivent pas être gérées par un catalog.
Préparer un jeu de données source
Créer et peupler une table MergeTree
Écrire des données dans une table Iceberg
Créer la table Iceberg
IcebergS3.
Notez que le schéma doit être simplifié par rapport à celui de la table source MergeTree. ClickHouse prend en charge un système de types plus riche qu’Iceberg et que les fichiers Parquet sous-jacents : des types tels que Enum, LowCardinality et UInt8 ne sont pas pris en charge par Iceberg et doivent être convertis en types compatibles.
Insérer un sous-ensemble de données
INSERT INTO SELECT pour insérer dans la table Iceberg des données provenant de la table MergeTree. Dans cet exemple, nous insérons uniquement les transactions de Londres :