Cette page présente des matrices de compatibilité complètes pour les intégrations lac de données de ClickHouse. Elle détaille les fonctionnalités disponibles pour chaque format de table ouvert, les catalogues auxquels ClickHouse peut se connecter, ainsi que les fonctionnalités prises en charge par chaque catalogue.
La prise en charge est présentée séparément pour ClickHouse Cloud et ClickHouse autogéré. Les fonctionnalités expérimentales sont désactivées par défaut dans ClickHouse Cloud et doivent être demandées auprès du Support. Leur disponibilité dépend de la fonctionnalité concernée ; contactez donc le Support pour confirmer si une fonctionnalité expérimentale spécifique peut être activée. La configuration et les limitations propres au déploiement sont décrites dans la colonne Notes.
Prise en charge des formats de table ouverts
ClickHouse s’intègre à quatre formats de table ouverts : Apache Iceberg, Delta Lake, Apache Hudi et Apache Paimon. Sélectionnez un format ci-dessous pour consulter sa matrice de compatibilité.
Légende : ✅ Pris en charge | ⚠️ Partiel, expérimental ou obsolète | ❌ Non pris en charge
| Fonctionnalité | ClickHouse Cloud | Auto-géré | Notes |
|---|---|---|---|
| Backends de stockage | |||
| AWS S3 | ✅ | ✅ | Via icebergS3() ou l'alias iceberg() |
| GCS | ✅ | ✅ | Via icebergS3() ou l'alias iceberg() |
| Azure Blob Storage | ✅ | ✅ | Via icebergAzure() |
| HDFS | ❌ | ⚠️ Obsolète | Via icebergHDFS() |
| Système de fichiers local | ❌ | ✅ | Via icebergLocal() |
| Méthodes d'accès | |||
| Fonction de table | ✅ | ✅ | icebergS3() avec des variantes selon le backend |
| Moteur de table | ✅ | ✅ | IcebergS3 avec des variantes selon le backend |
| Lectures distribuées sur le cluster | ✅ | ✅ | icebergS3Cluster, icebergAzureCluster, icebergHDFSCluster |
| Collections nommées | ⚠️ | ✅ | Les collections nommées créées par DDL peuvent être activées sur certains services ClickHouse Cloud. Contactez le Support pour confirmer leur disponibilité. |
| Fonctionnalités de lecture | |||
| Prise en charge de la lecture | ✅ | ✅ | Prise en charge complète de SELECT et de toutes les fonctions ClickHouse SQL |
| Élagage des partitions | ✅ | ✅ | Consultez Élagage des partitions. |
| Partitionnement masqué | ✅ | ✅ | Prise en charge du partitionnement basé sur les transformations Iceberg |
| Évolution des partitions | ✅ | ✅ | Prise en charge de la lecture de tables dont les spécifications de partition évoluent au fil du temps |
| Évolution du schéma | ✅ | ✅ | Ajout, suppression et réorganisation de colonnes. Consultez Évolution du schéma. |
| Promotion / élargissement des types | ✅ | ✅ | int → long, float → double, decimal(P,S) → decimal(P',S) lorsque P' > P. Consultez Évolution du schéma. |
| Voyage dans le temps / snapshots | ✅ | ✅ | Via les paramètres iceberg_timestamp_ms ou iceberg_snapshot_id. Consultez Voyage dans le temps. |
| Suppressions par position | ✅ | ✅ | Consultez Traitement des lignes supprimées. |
| Suppressions par égalité | ✅ | ✅ | Fonctions de table et moteurs de table, à partir de v25.8+. Consultez Traitement des lignes supprimées. |
| Fusion à la lecture | ⚠️ | ⚠️ | Expérimental. Pris en charge pour les opérations de suppression. |
| Versions de format | ⚠️ Partiel | ⚠️ Partiel | Les versions v1 et v2 sont prises en charge. La prise en charge de v3 est partielle ; les vecteurs de suppression et le compactage des manifestes ne sont pas pris en charge. |
| Statistiques de colonnes | ✅ | ✅ | |
| Filtres de Bloom / fichiers Puffin | ❌ | ❌ | Les index de filtres de Bloom des fichiers Puffin ne sont pas pris en charge |
| Colonnes virtuelles | ✅ | ✅ | _path, _file, _size, _time, _etag. Consultez Colonnes virtuelles. |
| Fonctionnalités d'écriture | |||
| Création de table | ⚠️ | ⚠️ | Expérimental. Nécessite allow_insert_into_iceberg = 1. À partir de v25.7+. Consultez Création d'une table. |
INSERT |
✅ Beta | ✅ Beta | Beta à partir de la version 26.2. Nécessite allow_insert_into_iceberg = 1. Voir Insertion de données. |
DELETE |
⚠️ | ⚠️ | Experimental. Nécessite allow_insert_into_iceberg = 1. Via ALTER TABLE ... DELETE WHERE. Voir Suppression de données. |
ALTER TABLE (modifications de schéma) |
⚠️ | ⚠️ | Experimental. Nécessite allow_insert_into_iceberg = 1. Permet d'ajouter, supprimer, modifier ou renommer des colonnes. Voir Évolution du schéma. |
| Compaction | ⚠️ | ⚠️ | Experimental. Nécessite allow_experimental_iceberg_compaction = 1. Voir Compaction. |
UPDATE / MERGE |
❌ | ❌ | Non pris en charge. Voir Compaction. |
| Copie sur écriture | ❌ | ❌ | Non pris en charge |
| Expiration des snapshots | ⚠️ | ⚠️ | Experimental. Nécessite Iceberg v2, allow_insert_into_iceberg = 1 et allow_experimental_expire_snapshots = 1. Voir Expiration des snapshots. |
| Suppression des fichiers orphelins | ⚠️ | ⚠️ | Experimental. Nécessite Iceberg v2 ou une version ultérieure, allow_insert_into_iceberg = 1 et allow_iceberg_remove_orphan_files = 1. Voir Suppression des fichiers orphelins. |
| Écriture de partitions | ✅ Beta | ✅ Beta | Prise en charge pour les écritures dans Iceberg. |
| Modification des partitions | ❌ | ❌ | La modification du schéma de partitionnement depuis ClickHouse n'est pas prise en charge. ClickHouse peut écrire dans des tables Iceberg dont le schéma de partitionnement a évolué. |
| Métadonnées | |||
| Création de branches et balisage | ❌ | ❌ | Les références de branches et de tags Iceberg ne sont pas prises en charge |
| Résolution des fichiers de métadonnées | ✅ | ✅ | Prise en charge de la résolution via les catalogues, le listing de répertoires, version-hint et un chemin spécifique. Voir Résolution des fichiers de métadonnées. |
| Mise en cache des données | ✅ | ✅ | Même mécanisme que pour les moteurs de stockage S3/Azure/HDFS. Voir Cache de données. |
| Mise en cache des métadonnées | ✅ | ✅ | Activée par défaut via use_iceberg_metadata_files_cache. Voir Cache de métadonnées. |
À partir de la version 25.6, ClickHouse lit les tables Delta Lake à l’aide du kernel Rust de Delta Lake, ce qui étend la prise en charge des fonctionnalités. Toutefois, des problèmes connus surviennent lors de l’accès aux données dans Azure Blob Storage. Le Kernel est donc désactivé lors de la lecture de données depuis Azure Blob Storage. Les fonctionnalités nécessitant ce kernel sont indiquées ci-dessous.
| Fonctionnalité | ClickHouse Cloud | Auto-géré | Notes |
|---|---|---|---|
| Backends de stockage | |||
| AWS S3 | ✅ | ✅ | Via deltaLake() ou deltaLakeS3() |
| GCS | ✅ | ✅ | Via deltaLake() ou deltaLakeS3() |
| Azure Blob Storage | ✅ | ✅ | Via deltaLakeAzure() |
| HDFS | ❌ | ❌ | Non pris en charge |
| Système de fichiers local | ❌ | ✅ | Via deltaLakeLocal() |
| Méthodes d’accès | |||
| Fonction de table | ✅ | ✅ | deltaLake() avec des variantes pour chaque backend |
| Moteur de table | ✅ | ✅ | DeltaLake |
| Lectures distribuées sur le cluster | ✅ | ✅ | deltaLakeCluster, deltaLakeAzureCluster |
| Collections nommées | ⚠️ | ✅ | Les collections nommées créées via DDL peuvent être activées sur certains services ClickHouse Cloud. Contactez le Support pour confirmer leur disponibilité. |
| Fonctionnalités de lecture | |||
| Prise en charge de la lecture | ✅ | ✅ | Prise en charge complète de SELECT avec toutes les fonctions ClickHouse SQL |
| Élagage des partitions | ✅ Beta | ✅ Beta | Nécessite le Delta Kernel. |
| Évolution du schéma | ✅ Beta | ✅ Beta | Nécessite le Delta Kernel. |
| Time travel | ✅ Beta | ✅ Beta | Nécessite le Delta Kernel. |
| Vecteurs de suppression | ✅ | ✅ | |
| Mappage de colonnes | ✅ | ✅ | |
| Change data feed | ✅ Beta | ✅ Beta | Nécessite le Delta Kernel. |
| Colonnes virtuelles | ✅ | ✅ | _path, _file, _size, _time, _etag. Consultez les colonnes virtuelles. |
| Fonctionnalités d’écriture | |||
INSERT |
✅ Beta | ✅ Beta | Nécessite le Delta Kernel. Les écritures sont prises en charge pour S3 et GCS ; les écritures vers Azure ne le sont pas. Nécessite allow_delta_lake_writes = 1 à partir de la v26.7 ; pour les versions antérieures, utilisez allow_experimental_delta_lake_writes = 1. Consultez les écritures Delta Lake. |
DELETE / UPDATE / MERGE |
❌ | ❌ | Non pris en charge |
| Créer une table vide | ❌ | ❌ | L’opération CREATE TABLE suppose que la table Delta Lake existe déjà dans le stockage d’objets. |
| Mise en cache | |||
| Mise en cache des données | ✅ | ✅ | Même mécanisme que pour les moteurs de stockage S3/Azure/HDFS. Consultez le cache de données. |
| Fonctionnalité | ClickHouse Cloud | Auto-géré | Remarques |
|---|---|---|---|
| Backends de stockage | |||
| AWS S3 | ✅ | ✅ | Via hudi() |
| GCS | ✅ | ✅ | Via hudi() |
| Azure Blob Storage | ❌ | ❌ | Non pris en charge |
| HDFS | ❌ | ❌ | Non pris en charge |
| Système de fichiers local | ❌ | ❌ | Non pris en charge |
| Méthodes d'accès | |||
| Fonction de table | ✅ | ✅ | hudi() |
| Moteur de table | ✅ | ✅ | Hudi |
| Lectures distribuées sur le cluster | ✅ | ✅ | hudiCluster (S3 uniquement) |
| Collections nommées | ⚠️ | ✅ | Les collections nommées créées via DDL peuvent être activées sur certains services ClickHouse Cloud. Contactez le Support pour confirmer leur disponibilité. |
| Fonctionnalités de lecture | |||
| Prise en charge de la lecture | ✅ | ✅ | Prise en charge complète de SELECT avec toutes les fonctions SQL de ClickHouse |
| Évolution du schéma | ❌ | ❌ | Non pris en charge |
| Voyage dans le temps | ❌ | ❌ | Non pris en charge |
| Colonnes virtuelles | ✅ | ✅ | _path, _file, _size, _time, _etag. Voir Colonnes virtuelles. |
| Fonctionnalités d'écriture | |||
INSERT / DELETE / UPDATE |
❌ | ❌ | Intégration en lecture seule |
| Mise en cache | |||
| Mise en cache des données | ❌ | ❌ | Non pris en charge |
| Fonctionnalité | ClickHouse Cloud | Autogéré | Notes |
|---|---|---|---|
| Backends de stockage | |||
| S3 | ⚠️ | ⚠️ | Expérimental. Via paimon() ou paimonS3() |
| GCS | ⚠️ | ⚠️ | Expérimental. Via paimon() ou paimonS3() |
| Azure Blob Storage | ⚠️ | ⚠️ | Expérimental. Via paimonAzure() |
| HDFS | ❌ | ⚠️ | Expérimental et obsolète. Via paimonHDFS() |
| Système de fichiers local | ❌ | ⚠️ | Expérimental. Via paimonLocal() |
| Méthodes d'accès | |||
| Fonction de table | ⚠️ | ⚠️ | Expérimental. paimon() avec des variantes pour chaque backend |
| Moteur de table | ⚠️ | ⚠️ | Expérimental. Paimon avec des variantes pour chaque backend. Nécessite allow_experimental_paimon_storage_engine = 1. |
| Lectures distribuées sur le cluster | ⚠️ | ⚠️ | Expérimental. paimonS3Cluster, paimonAzureCluster, paimonHDFSCluster |
| Collections nommées | ⚠️ | ⚠️ | Expérimental. Les collections nommées créées par DDL peuvent être activées sur certains services ClickHouse Cloud. Contactez le support pour confirmer leur disponibilité. |
| Fonctionnalités de lecture | |||
| Prise en charge de la lecture | ⚠️ | ⚠️ | Expérimental. Prise en charge complète de SELECT avec toutes les fonctions ClickHouse SQL |
| Évolution du schéma | ❌ | ❌ | Non pris en charge |
| Voyage dans le temps | ❌ | ❌ | Non pris en charge |
| Colonnes virtuelles | ⚠️ | ⚠️ | Expérimental. _path, _file, _size, _time, _etag. Voir Colonnes virtuelles. |
| Fonctionnalités d'écriture | |||
INSERT / DELETE / UPDATE |
❌ | ❌ | Intégration en lecture seule |
| Mise en cache | |||
| Mise en cache des données | ❌ | ❌ | Non pris en charge |
Prise en charge des catalogues
ClickHouse peut se connecter à des catalogues de données externes à l’aide du moteur de base de données DataLakeCatalog, qui expose le catalogue comme une base de données ClickHouse. Les tables enregistrées dans le catalogue apparaissent automatiquement et peuvent être interrogées avec du SQL standard.
Les catalogues suivants sont actuellement pris en charge. Consultez le guide de référence de chaque catalogue pour les instructions de configuration complètes.
| Catalogue | Formats | Lecture | Créer une table | INSERT | Guide de référence |
|---|---|---|---|---|---|
| AWS Glue Catalog | Iceberg | ✅ Bêta | ❌ | ❌ | Guide du Glue catalog |
| BigLake Metastore | Iceberg | ✅ Bêta | ❌ | ❌ | Guide de BigLake Metastore |
| Databricks Unity Catalog | Delta, Iceberg | ✅ Bêta | ✅ Bêta | ✅ Bêta | Guide de Unity Catalog |
| Iceberg REST | Iceberg | ✅ Bêta | ❌ | ❌ | Guide du REST catalog |
| Lakekeeper | Iceberg | ✅ Bêta | ❌ | ❌ | Guide du catalogue Lakekeeper |
| Project Nessie | Iceberg | ✅ Expérimental | ❌ | ❌ | Guide du catalogue Nessie |
| Microsoft OneLake | Iceberg | ✅ Bêta | ✅ Bêta | ✅ Bêta | Guide du catalogue OneLake |
| SeaweedFS | Iceberg | ✅ Bêta | ✅ Bêta | ✅ Bêta | Guide du catalogue SeaweedFS |
Toutes les intégrations de catalogues exigent actuellement l’activation d’un paramètre expérimental ou bêta. À l’exception de Microsoft OneLake, de Databricks Unity Catalog et de SeaweedFS, tous les catalogues offrent un accès en lecture seule — les tables peuvent être interrogées, mais il n’est pas possible de les créer ni d’y écrire des données via la connexion au catalogue. Pour charger des données depuis un catalogue dans ClickHouse afin d’accélérer l’analytics, utilisez INSERT INTO SELECT comme indiqué dans le guide d’accélération de l’analytics. Pour réécrire des données dans des formats de table ouverts, créez des tables Iceberg autonomes comme indiqué dans le guide d’écriture des données.