Plans et tarifsInscrivez-vous gratuitement

Qu’est-ce que le format Parquet ?

Table des matières
Autres Guides
No related guides found.
Liens associés
No related content found.

Apache Parquet est un format de fichier de stockage en colonnes moderne et open-source, optimisé pour les charges de travail analytiques. Conçu pour traiter efficacement des données complexes à grande échelle dans des systèmes distribués, Parquet est devenu le format par défaut dans les pipelines d’ingénierie des données et d’analyse sur des plateformes telles que Spark, Hadoop, AWS et Azure.

Histoire et origines

Parquet a été développé en 2013 dans le cadre d’un effort conjoint entre Twitter et Cloudera, sur la base du papier Dremel de Google et en s’inspirant de son format de stockage interne en colonnes. L’objectif était de créer un format capable de stocker efficacement des structures de données imbriquées, de supporter l’évolution des schémas et d’offrir des lectures analytiques performantes, le tout dans un standard ouvert.

Depuis sa publication, Parquet est devenu un projet Apache et constitue désormais un élément essentiel de l’écosystème Hadoop, souvent utilisé avec Apache Arrow, Apache Hive, Apache Drill et Apache Impala.

Comment fonctionne le parquet

Parquet stocke les données dans un format en colonnes, ce qui signifie que toutes les valeurs d’une colonne donnée sont stockées ensemble, plutôt que ligne par ligne. Cette approche permet une meilleure compression, un filtrage plus rapide et une lecture plus efficace lorsque seul un sous-ensemble de colonnes est nécessaire.

Concepts clés :

  • Stockage en colonnes : Permet de lire uniquement les colonnes dont vous avez besoin pour une requête, ce qui réduit considérablement les entrées/sorties.
  • Schéma : Les fichiers Parquet comprennent un schéma auto-descriptif stocké dans les métadonnées, ce qui facilite la gestion et l’évolution des structures de données.
  • Pages de données : Les données sont stockées dans des pages regroupées en groupes de lignes, chacune contenant les valeurs d’un sous-ensemble de lignes de l’ensemble de données.
  • Encodages : Utilise le codage par dictionnaire et le codage de longueur d’exécution pour réduire la taille des fichiers sans sacrifier les performances.
  • Compression : Supporte divers codecs tels que Snappy, GZIP, Brotli et LZO pour un stockage efficace.

Avantages de l’utilisation du parquet

  • Hautement compressé : La disposition en colonnes de Parquet, combinée à une compression moderne, permet de réduire la taille des fichiers, en particulier pour les valeurs répétées.
  • Des lectures efficaces : L’élagage des colonnes et le repoussage des prédicats réduisent le temps de lecture et l’utilisation de la mémoire dans les requêtes.
  • Évolution du schéma : Compatible avec les changements de schéma en amont et en aval, ce qui le rend fiable pour les ensembles de données changeants.
  • Support des données imbriquées : Contrairement à CSV ou JSON, Parquet gère les structures imbriquées en utilisant un format appelé répétition et des niveaux de définition.
  • Agnostique : fonctionne sur les plateformes cloud (AWS S3, Azure Blob, Google Cloud Storage) et les moteurs d’analyse (Spark, Presto, Athena).

Parquet vs. autres formats

Caractéristiques Parquet CSV JSON Avro
Type de stockage En colonnes Basé sur les rangs En rangées En rangée
Compression Excellente Faible Médiocre Bonne
Support des schémas Oui (dans le fichier) Non Partiel Oui
Données imbriquées Oui Non Oui Oui
Meilleur cas d’utilisation Analyse Exportations API Streaming

Cas d’utilisation courants

  • Data warehouse : Stockage de grands ensembles de données analytiques dans un format compressé et efficace pour les requêtes.
  • Cloud Analytics : Utilisé avec des services comme AWS Athena, Google BigQuery, Azure Synapse pour des requêtes sans serveur.
  • Pipelines ETL : Stockage intermédiaire pour les pipelines à haut débit utilisant Apache Spark ou AWS Glue.
  • Apprentissage automatique : En tant qu’ensembles de données de formation en raison de l’efficacité de la performance de l’analyse.

Outils qui supportent Parquet

  • Moteurs : Apache Spark, Hive, Presto, Trino, Impala, Drill, BigQuery
  • Cloud : AWS Athena, S3 Select, Azure Data Lake, Google Cloud Storage.
  • Langues : Python (pyarrow, pandas), R, Java, Scala, C++
  • Visualiseurs de fichiers : parquet-tools, DuckDB, DataGrip, Jupyter Notebooks

Meilleures pratiques

  • Utilisez la compression Snappy pour trouver un équilibre entre vitesse et taille.
  • Optimisez la taille des groupes de lignes (par exemple, 128 Mo) pour les lectures volumineuses.
  • Répartissez les ensembles de données en fonction de champs de filtrage communs (par exemple, date, région) pour une recherche plus rapide.
  • Évitez d’écrire de nombreux petits fichiers Parquet – fusionnez-les en un petit nombre de gros fichiers pour éviter les problèmes de performance.

Conclusion

Parquet est le format préféré pour le stockage et l’analyse d’ensembles de données massifs de manière performante, évolutive et rentable. Son architecture en colonnes, sa compression efficace et sa compatibilité avec les piles de données modernes en font la pierre angulaire de l’ingénierie des données en nuage.

Si votre charge de travail implique des analyses, des rapports ou de l’apprentissage automatique, Parquet est souvent le meilleur choix par défaut pour le stockage et les performances.

Votre vie privée compte.

Cookies essentiels
Nécessaire pour les fonctionnalités du site web telles que notre chat de vente, les formulaires et la navigation. 
Cookies fonctionnels et analytiques
Nous aide à comprendre d'où viennent nos visiteurs en collectant des données d'utilisation anonymes.
Cookies publicitaires et de suivi
Utilisé pour diffuser des annonces pertinentes et mesurer les performances publicitaires sur des plateformes telles que Google, Facebook et LinkedIn.
Tout accepterSauvegarderTout refuser