Articles

Parquet

Posted on

Parquet est un format de fichier open source disponible pour tout projet dans l’écosystème Hadoop. Apache Parquet est conçu pour un format de stockage plat en colonnes des données aussi efficace que performant par rapport aux fichiers basés sur des lignes comme les fichiers CSV ou TSV.

Parquet utilise l’algorithme de déchiquetage et d’assemblage des enregistrements qui est supérieur au simple aplatissement des espaces de noms imbriqués. Parquet est optimisé pour travailler avec des données complexes en vrac et présente différentes façons de compresser efficacement les données et les types d’encodage. Cette approche est particulièrement adaptée aux requêtes qui ont besoin de lire certaines colonnes d’une grande table. Parquet peut seulement lire les colonnes nécessaires donc minimiser grandement l’IO.

Avantages du stockage de données dans un format colonnaire:

  • Le stockage colonnaire comme Apache Parquet est conçu pour apporter de l’efficacité par rapport aux fichiers basés sur les lignes comme CSV. Lors des requêtes, le stockage en colonnes vous permet de passer très rapidement sur les données non pertinentes. Par conséquent, les requêtes d’agrégation prennent moins de temps que les bases de données orientées lignes. Cette façon de stocker s’est traduite par des économies de matériel et une latence minimisée pour accéder aux données.
  • Apache Parquet est construit à partir de la base. Il est donc capable de prendre en charge des structures de données imbriquées avancées. La disposition des fichiers de données Parquet est optimisée pour les requêtes qui traitent de grands volumes de données, de l’ordre du gigaoctet pour chaque fichier individuel.
  • Parquet est construit pour prendre en charge des options de compression flexibles et des schémas d’encodage efficaces. Comme le type de données de chaque colonne est assez similaire, la compression de chaque colonne est simple (ce qui rend les requêtes encore plus rapides). Les données peuvent être compressées en utilisant l’un des plusieurs codecs disponibles ; par conséquent, différents fichiers de données peuvent être compressés différemment.
  • Apache Parquet fonctionne mieux avec les technologies interactives et sans serveur comme AWS Athena, Amazon Redshift Spectrum, Google BigQuery et Google Dataproc.

Différence entre Parquet et CSV

Le CSV est un format simple et largement répandu qui est utilisé par de nombreux outils tels qu’Excel, Google Sheets, et de nombreux autres peuvent générer des fichiers CSV. Même si les fichiers CSV sont le format par défaut des pipelines de traitement des données, il présente quelques inconvénients :

  • Amazon Athena et Spectrum vous factureront en fonction de la quantité de données analysées par requête.
  • Google et Amazon vous factureront en fonction de la quantité de données stockées sur GS/S3.
  • Les frais de Google Dataproc sont basés sur le temps.

Parquet a aidé ses utilisateurs à réduire les besoins de stockage d’au moins un tiers sur les grands ensembles de données, en outre, il a considérablement amélioré le temps de numérisation et de désérialisation, donc les coûts globaux.

Le tableau suivant compare les économies ainsi que l’accélération obtenue en convertissant les données en Parquet à partir de CSV.

.

Coût

Dataset

Taille sur Amazon S3

Temps d’exécution de la requête

Données numérisées

Données stockées sous forme de fichiers CSV

1 TB

236 secondes

1.15 TB

Données stockées au format Apache Parquet

130 GB

6,78 secondes

2.51 Go

Economies

87% de moins en utilisant Parquet

34x plus rapide

99% de données scannées en moins

99.7% d’économies

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *