tadata
← Retour à l'accueil

Formats Data Lake : Des Fichiers aux Abstractions Tabulaires

#data-engineering#data-lake#parquet#iceberg#delta-lake

Le lakehouse moderne repose sur deux couches de choix de format : le format de fichier qui stocke les octets sur disque, et le format de table qui ajoute une sémantique transactionnelle par-dessus. Bien choisir détermine la vitesse des requêtes, le coût de stockage, la flexibilité du schéma et la compatibilité écosystème.

Comparaison des Formats de Fichiers

CaractéristiqueParquetORCAvroCSV / JSON
Modèle de stockageColonnaireColonnairePar lignePar ligne
CompressionExcellente (Snappy, Zstd)Excellente (Zlib, Snappy)BonneMauvaise
Évolution du schémaLimitée (ajout colonnes)LimitéeForte (compatibilité complète)Aucune
Performance lecture (analytique)Excellente — élagage de colonnesExcellenteFaibleTrès faible
Support écosystèmeUniversel (Spark, Flink, Trino, DuckDB)Hive/Spark-centriqueKafka, outils Avro-natifsUniversel mais lent
Cas d'usage idéalAnalytique, stockage lakehouseWorkloads HiveStreaming, schema registryÉchange, debug

Parquet est devenu le standard de fait pour le stockage analytique. Son layout colonnaire permet le predicate pushdown et l'élagage de colonnes, réduisant les I/O de 90%+ sur les tables larges.

tadata
CSV JSON Lines Parquet Recommended Arrow /Feather (IPC) Avro Layout rows, text rows, text columns, binary columns, inmemory rows, binary Typed schema ✗ partial ✓ ✓ ✓ Compression external (gzip) external built in optional (LZ4,Zstd) built in Read only some columns ✗ ✗ ✓ ✓ ✗ Human readable ✓ ✓ ✗ ✗ ✗ Typical use exchange, smallfiles LLM corpora, chatdata, logs lake storage,analytics,training tables zero-copyexchange,memory-mappeddatasets Kafka messages,schema evolution
CSV JSON Lines Parquet Recommended Arrow /Feather (IPC) Avro Layout rows, text rows, text columns, binary columns, inmemory rows, binary Typed schema ✗ partial ✓ ✓ ✓ Compression external (gzip) external built in optional (LZ4,Zstd) built in Read only some columns ✗ ✗ ✓ ✓ ✗ Human readable ✓ ✓ ✗ ✗ ✗ Typical use exchange, smallfiles LLM corpora, chatdata, logs lake storage,analytics,training tables zero-copyexchange,memory-mappeddatasets Kafka messages,schema evolution
Cinq formats que vous rencontrerez. Pour des données d'entraînement tabulaires, le choix par défaut est Parquet sur disque, Arrow en mémoire

Extrait de la fiche « Data Formats and Pipelines » · Demander la fiche complète

Comparaison des Formats de Table

CaractéristiqueApache IcebergDelta LakeApache Hudi
GouvernanceFondation ApacheLinux Foundation (origine Databricks)Fondation Apache
Transactions ACIDOuiOuiOui
Time travelOui — base de snapshotsOui — journal de versionsOui — base de timeline
Évolution du schemaComplete (ajout, suppression, renommage)Ajout/renommageAjout colonnes
Évolution de partitionOui — partitionnement cacheNon — nécessite recritureLimite
Moteurs de requêteSpark, Flink, Trino, DuckDB, Athena, BigQuerySpark, Flink, TrinoSpark, Flink, Trino
Dynamique communautaire (2026)Très élevée — convergence industrielleÉlevée — écosystème DatabricksModérée
tadata
FormatOriginMetadataDistinctive features
Delta LakeDatabricks, 2019; Linux Foundation_delta_log/ JSON commits + Parquet checkpointsdeep Spark and Databricks integration, change data feed, UniForm can expose Iceberg metadata
Apache IcebergNetflix, 2018; Apache top-level 2020metadata.json → manifest lists → manifestshidden partitioning, partition evolution, REST catalog; widely adopted across vendors and AWS (Glue, S3 Tables)
Apache HudiUber, 2016-2017; Apache top-level 2020.hoodie/ timelinerecord-level upserts, copy-on-write and merge-on-read tables, incremental pulls
Les trois formats de table ouverts (tous stockent les données en Parquet ; Spark, Trino, Flink, DuckDB et d'autres moteurs les lisent)

Extrait de la fiche « Data Formats and Pipelines » · Demander la fiche complète

Chronologie d'Évolution

tadata
Sortie d'Apache Avro 1.0 Apache Parquet inspiré du papier Dremel Format ORC introduit projet Hive Apache Hudi créé chez Uber Delta Lake créé chez Databricks Apache Iceberg créé chez Netflix Delta Lake passe en open source Iceberg adopté par AWS, Snowflake, Dremio Databricks rachète Tabular les fondateurs d'Iceberg Delta Lake UniForm lit les métadonnéesIceberg L'Iceberg REST Catalog devient l'APIstandard Convergence du secteur Iceberg comme format d'échange 2009 2010 2013 2016 2017 2018 2020 2022 2023 2024 2025 2026 Formats de data lake, 2009-2026
Sortie d'Apache Avro 1.0 Apache Parquet inspiré du papier Dremel Format ORC introduit projet Hive Apache Hudi créé chez Uber Delta Lake créé chez Databricks Apache Iceberg créé chez Netflix Delta Lake passe en open source Iceberg adopté par AWS, Snowflake, Dremio Databricks rachète Tabular les fondateurs d'Iceberg Delta Lake UniForm lit les métadonnéesIceberg L'Iceberg REST Catalog devient l'APIstandard Convergence du secteur Iceberg comme format d'échange 2009 2010 2013 2016 2017 2018 2020 2022 2023 2024 2025 2026 Formats de data lake, 2009-2026

Cadre de Décision

tadata
  • Avez-vous besoin de transactions ACID sur votre lac ?
    • Non: Des fichiers Parquet/ORC bruts suffisent
    • Oui: À quoi ressemble votre stack ?
      • Centrée sur Databricks: Delta Lake (intégration native)
      • Multi-moteur / multi-cloud: Apache Iceberg
      • Forte charge d'upserts (CDC): Apache Hudi ou Iceberg MoR

Bonnes Pratiques de Layout Stockage

PratiqueImpactDétails
Viser des fichiers de 128-512 MoPerformance lectureLes petits fichiers causent un overhead métadonnées
Partitionnement caché (Iceberg)Vitesse + flexibilitéPartitionner par transformation (jour, bucket)
Activer les statistiques de colonnesPredicate pushdownStats min/max permettent de sauter les fichiers non pertinents
Compacter régulièrementMaintenance performanceFusionner les petits fichiers produits par le streaming
Expirer les anciens snapshotsCoût stockageL'historique de time travel croît sans limite sans nettoyage

Ressources

Nous utilisons des cookies analytiques pour améliorer votre expérience. Aucune donnée personnelle n'est collectée.