Dask est la bibliothèque Python de calcul parallèle conçue comme extension naturelle de l'écosystème NumPy/Pandas. Elle permet de traiter des datasets dépassant la RAM en les découpant en partitions traitées en parallèle sur plusieurs cœurs ou plusieurs machines. API quasi-identique à Pandas, ce qui facilite la migration.
Traitement de DataFrames plus grands que la RAM
Dask divise automatiquement un DataFrame de plusieurs centaines de gigaoctets en partitions traitées en parallèle, permettant d'exécuter du code pandas quasi-identique sur des données qui ne tiendraient pas en mémoire.
Parallélisation de workflows scikit-learn
Dask-ML parallélise les hyperparameter searches, les cross-validations et l'entraînement de modèles scikit-learn sur plusieurs coeurs ou plusieurs noeuds d'un cluster, réduisant les temps d'expérimentation ML.
Traitement de données NumPy distribué
Dask Arrays permet de traiter des tenseurs et des tableaux NumPy de très grande taille (images satellites, données scientifiques) en les découpant en blocs traités en parallèle sur un cluster.
Orchestration de pipelines de calcul arbitraires
Dask Delayed permet de convertir n'importe quelle fonction Python en tâche d'un graphe de calcul distribué, orchestrant automatiquement l'exécution parallèle et la gestion des dépendances entre tâches.
✓ Points forts
✗ Limites
✓ Fait pour vous si…
Data Scientists et ML Engineers voulant traiter des données > RAM sans apprendre Spark. Parallelisation de boucles Python et pipelines Scikit-learn.
✗ Pas fait pour vous si…
Très gros volumes en production (>500 Go) — Spark reste plus performant. Workloads streaming.
Dask Documentation officielle
DocumentationDask
Scalable Python with Dask
Formation officielleCoiled
Parallel Computing with Dask
MOOCUdemy