Accélération des E/S : Parquet et Feather

Certains de nos problèmes consistent en des données que nous lisons à partir du stockage local. Les opérations de lecture-traitement-écriture peuvent être confortables pour des ensembles de données relativement petits, mais ces actions pour les gros fichiers .csv sont assez lourdes pour nous. Ils peuvent être très exigeants en termes de temps et de ressources.
Je présenterai deux types de fichiers qui augmenteront la vitesse de lecture-écriture de vos données et compresseront la taille des données stockées sur le disque :
- Parquet
- La plume
- Accessible par défaut avec les Python-Pandas. Mais vous devrez peut-être installer en plus pyarrow et certaines extensions de ce type en fonction de votre type de données.
- Prend en charge la gestion des E/S basée sur les colonnes. De cette façon, vous pouvez éviter d'utiliser temporairement de la RAM supplémentaire lors de la lecture de toutes les données, puis de supprimer les colonnes inutiles.
- En stockant les données dans un format binaire dans leur propre type au lieu de la forme brute, vous pouvez économiser jusqu'à 50 % en stockage et gagner jusqu'à 100 fois plus d'accélération dans les opérations de lecture-écriture.
Parquet
La plume
Conclusion
C'est si facile! Je recommande vivement d'utiliser ces méthodes lorsque vous n'avez pas besoin de stocker vos données au format brut et que chaque utilisateur n'a pas besoin de pouvoir l'ouvrir avec Excel à tout moment ! Pour ce cas exceptionnel, il est plus logique de paralléliser la lecture et l'écriture des données au lieu de changer le format des données. Je pense également à aborder ce scénario à l'avenir. J'espère que ce contenu vous a été utile, je pense que c'est quelque chose de simple mais assez efficace.
J'utilise ces méthodes dans les compétitions Kaggle et j'obtiens de très bonnes accélérations. Vous pouvez consulter un exemple de code qui m'appartient ici !