Je construis une application Spark, dans laquelle je soumets plusieurs travaux (pyspark). J'utilise des fils pour les faire fonctionner en parallèle, et aussi je suis en train: conf.set (« spark.scheduler.mode », « FAIR »)spark schedulingMode
encore, je vois les travaux sont exécutés en série de manière FIFO. Ai-je raté quelque chose?
EDIT: Après avoir écrit à la liste de diffusion Spark, je suis arrivé deux ou trois choses plus:
- FairSchedulingAlgorithm Spark n'est pas rond robin: https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/scheduler/SchedulingAlgorithm.scala#L43
- Il n'y a pas de préemption, cela signifie que même en utilisant le programmateur .mode 'FAIR' vous ne pouvez pas être sûr que chaque étape sera exécutée 'un peu'. La planification se produit juste quand les ressources (noyau) sont disponibles.
je manque totalement ce dernier point
[Apparemment pas] (http://spark.apache.org/docs/latest/job-scheduling.html#scheduling-within-an-application). –
J'ai lu la documentation, mais je peux vous assurer qu'ils fonctionnent toujours en mode FIFO, sans round robin –
What [master] (http://spark.apache.org/docs/latest/submitting-applications.html# master-urls) url avez-vous passé? –