как задачи выполняются в движке искры (см. DAG)? - PullRequest
1 голос
/ 10 июля 2019

Буду благодарен, если кто-нибудь ответит мне и объяснит мне этот вопрос.

Из того, что я понимаю, DAG - это физический план того, как будет выполняться работа, но я не понимал, как он действительно выполняет задачи параллельно. Я разработал свои вопросы и надеюсь, что получу ответы.

пример DAG

1) как задачи делятся на этапы? (на низком уровне)

2) Предоставление большого числа исполнителей, одновременно работают ли задачи на одном этапе?

и если да, то означает ли это, что количество задач, которые выполняются параллельно равно ** количеству задач на независимых этапах **?

3) наконец, когда этапы работают параллельно? как узнать количество этапов параллельного выполнения из группы доступности базы данных?

1 Ответ

0 голосов
/ 10 июля 2019

1.

Общее правило: каждая стадия - это случайная операция, случайные операции - это операции, которые в конечном итоге необходимо будет сократить до одного компьютера (т.е. уменьшить, объединить, сосчитать) Это означает, что не все задачи могут выполняться одновременно (хотя могут запускаться задачи), и они требуют перемещения данных между исполнителями. Это означает, что эти операции очень дороги для обычных операций преобразования (т. Е. Фильтр карты).

Именно поэтому этапы создаются в соответствии с операциями тасования.

Одним из самых больших преимуществ в Spark для картографирования с точки зрения скорости является то, что после того, как вы настроите исполнителя, он, как правило, останется в живых на время работы, поэтому выполнение двух небольших операций с картами обычно объединяется в одну карту позади. сцены. То же самое нельзя сделать с помощью операций случайного воспроизведения.

Итак, подведем итог: каждый этап содержит задачи, которые могут выполняться параллельно.

2

количество задач, которые могут быть запущены одновременно, составляет (num исполнителей * num ядер на каждого исполнителя)

3

разные этапы не выполняются параллельно только задачам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...