SPARK & PARQUET pour de gros volumes de données

L’outil Spark est devenu incontournable pour le traitement de gros volumes de données.

Depuis quelques années, le CASD met Spark à disposition des utilisateurs pour faciliter le traitement distribué sur de gros volumes de données. Le premier cluster Spark a été mis en place au CASD en 2015 et rassemblait 30 nœuds dans le cadre du projet Teralab.

Aujourd’hui la plupart des projets employant Spark au CASD utilisent Python (via PySpark) ou R (via Sparklyr ou SparkR) et le format de données Parquet. Ce dernier, en organisant les données en colonne, permet d’en optimiser la compression qui est assurée par défaut. Concrètement, pour un fichier de données de 730 millions de lignes, l’espace de stockage nécessaire en fonction du format :

• CSV : 417 Giga octets
• SAS : 311 Giga octets
• PARQUET : 24 Giga octets

Cette compression peut être associée à un partitionnement pertinent des données pour accélérer les traitements par la suite, en particulier lorsque ces traitements s’opèrent sur des colonnes tout en minimisant l’utilisation des ressources disques et mémoire.