Apache Parquet est un format de fichier colonnaire open-source conçu pour le stockage et l'analyse efficace de grandes quantités de données structurées. Il organise les données par colonnes plutôt que par lignes, permettant une compression optimale et des requêtes analytiques rapides.
Utilité et avantages
Parquet résout les problèmes de performance et d'espace de stockage dans l'analyse de big data. Sa structure colonnaire permet de lire uniquement les colonnes nécessaires lors des requêtes, réduisant drastiquement les I/O. Il offre également une compression très efficace (jusqu'à 75% d'économie d'espace) et supporte des schémas de données complexes avec types imbriqués.
Exemple d'utilisation
Un data analyst travaillant sur un dataset de 10 millions de transactions e-commerce veut analyser uniquement les montants et dates des ventes. Avec Parquet, seules ces deux colonnes seront lues depuis le disque, ignorant les 20 autres colonnes (noms clients, adresses, etc.), accélérant la requête de 10x par rapport à un format CSV.
Implémentation
import pandas as pd
import pyarrow.parquet as pq
# Écriture d'un fichier Parquet
df = pd.DataFrame({'ventes': [100, 200, 150], 'date': ['2024-01-01', '2024-01-02', '2024-01-03']})
df.to_parquet('ventes.parquet')
# Lecture sélective de colonnes
df_filtered = pd.read_parquet('ventes.parquet', columns=['ventes'])
Contexte technique
Parquet est supporté nativement par la plupart des outils big data (Spark, Hadoop, Hive) et langages (Python/pandas, R, Java, Scala, C++). Il s'intègre parfaitement avec les écosystèmes cloud (AWS S3, Google Cloud, Azure) et les moteurs de requête comme Presto ou BigQuery. Alternative moderne aux formats ORC et Avro.
Termes liés: Apache Arrow, Stockage colonnaire, Data Lake, ETL