Annexe D. Planificationavancée des tâches : Groupes et profils de ressources
Le planificateur par défaut de Spark fonctionne bien dans les cas où les tâches individuelles peuvent être réessayées et où les ressources sont, sinon identiques, du moins assez similaires pour chaque exécuteur. Tu peux utiliser des profils de ressources lorsque des tâches spécifiques nécessitent des ressources uniques, telles que davantage de mémoire ou des accélérateurs matériels (par exemple, des GPU). De même, la planification par groupes, également appelée mode d’exécution par barrière dans Spark, résout le problème lié à la nécessité d’exécuter toutes les tâches d’une étape donnée en même temps et de réessayer un bloc de calcul entier, et non pas seulement une seule partition, en cas d’échec. La planification par groupes est le plus souvent utilisée pour des charges de travail ML spécifiques.
Tu désignes certaines opérations comme nécessitant le Gang Scheduling/mode d’exécution par barrière ou des profils de ressources spécifiques sur les RDD et les Datasets/DataFrames.
Planification en groupe/mode d'exécution par barrière
Sur les RDD, pour la planification en groupe, il te suffit d’appeler barrier, ce qui te renverra un BarrierRDD spécial. Les opérations que tu effectues sur le BarrierRDD seront planifiées en groupe/avec barrière, et tu peux utiliser « mapPartitions pour transformer chaque partition.
Sur les Datasets/DataFrames, l'API part du principe que tu utilises le mode d'exécution par barrière ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access