Например, если количество исполнителей равно 40, но количество заданий равно 80, это означает, что каждый исполнитель будет запускать две задачи параллельно. Также мои функции (выполнение которых выполняются) не являются обычными функциями, но я вызываю программы внутри них. Таким образом, каждая задача на самом деле занимает несколько минут. Итак, мой вопрос в том, как справляется Spark? Будут ли эти задачи разделять JVM исполнителя? Как насчет количества ядер, разделите ли это между этими двумя задачами? Что делать, если вы не хотите, чтобы эти две задачи выполнялись одновременно, но выполняйте их циклически, т. Е. Запускайте первую задачу со всеми ядрами исполнителя, и только когда ее закончить, запустите вторую задачу?Как исполнитель Spark выполняет несколько задач?
ответ
зависит от того, как вы выделяете свои ресурсы, то есть количество ядер, ядер на каждого исполнителя и выделенную память исполнителям. это также зависит от того, как вы программируете для достижения максимального параллелизма.
Это также зависит от того, как вы кодируете для достижения максимального параллелизма. если есть две задачи, и они независимы друг от друга, они будут работать параллельно. если одна задача зависит от результата предыдущей задачи, они будут выполняться последовательно.
Да, количество ядер можно разделить на две задачи, сделав два исполнителя и выделив доступные ему ядра.
Для выполнения задач в циклическом режиме вам необходимо определить схему разбиения и выделить ресурсы в соответствии с ним. это гарантирует, что каждая задача будет выполнена после другой задачи.
- 1. Несколько задач как один - Apache Spark
- 2. Spark исполнитель GC принимает длинный
- 3. Исполнитель не выполняет задачи, как ожидалось
- 4. Специальная задача Gradle, которая выполняет несколько задач
- 5. Выполняет ли главный узел выполнение реальных задач в Spark?
- 6. Служба-исполнитель пропустила несколько заданий
- 7. Число задач сокращения Spark
- 8. Ищете умный планировщик задач и исполнитель
- 9. исполнитель не выполняет потоки из основной темы
- 10. Apache Spark: ERROR Исполнитель -> Итератор
- 11. Оптимизация задач Spark
- 12. Управление распределением задач в Spark
- 13. Исполнитель-исполнитель в AS3
- 14. Исполнитель: Подождите, пока не закончится выполнение определенных задач.
- 15. Как перезапустить исполнитель Spark после сбоя (в режиме клиента YARN)?
- 16. Как явно контролировать расписание задач Spark точно?
- 17. Spark выполняет медленнее с аппаратным масштабированием
- 18. git не выполняет никаких задач
- 19. Неисправность выполнения задач Spark Streaming
- 20. Spark withColumn() выполняет функции мощности
- 21. Как Spark paralellize ломтики для задач/исполнителей/работников?
- 22. Сериализация и закрытие задач Spark
- 23. Apache Spark - Как избежать неудачи медленных задач
- 24. Как закрыть службу-исполнитель?
- 25. Выполняет ли несколько задач, запланированных с помощью планировщика задач, замедлить работу компьютера?
- 26. Запланированный Исполнитель в Scala
- 27. Что сделало бы один исполнитель задачи прекратить обработку задач?
- 28. Spark Executors & Tasks
- 29. Spark executor & tasks concurrency
- 30. Spark-sql CLI использует только 1 исполнитель при выполнении запроса
Не могли бы вы немного подробнее рассказать о схеме разбиения на выполнение задач в циклическом режиме? – pythonic
Я могу рассказать о прецеденте, с которым я столкнулся. поэтому я использовал фрейм данных для хранения данных. изначально у меня был один раздел, поэтому полный раздел был выполнен в одном исполнителе, оставив остальных исполнителей неиспользованными. то я попытался разделить фрейм данных с помощью функции переразделения(), теперь эти разделы выполнялись параллельно между исполнителями. поэтому, когда у меня было два исполнителя, каждый исполнитель обрабатывал около 100 разделов, последовательно сокращая время до половины. каждый раздел рассматривается как одна задача при выполнении. поэтому для каждого исполнителя каждая задача будет запускаться серийно. –
На самом деле это зависит от того, сколько указателей вы указали. Spark будет запускать столько параллельных задач, сколько количество ядер, которые вы указали. Итак, если у вас есть 4 исполнителя и 4 ядра-исполнителя, в общей сложности 4 x 4 = 16 задач будут выполняться параллельно. Таким образом, один из способов решения проблемы - ограничить количество ядер-исполнителей. В этом случае все будет сделано более крутым способом. – pythonic