Создание искровых задач из задач (функций карты) в одном приложении

Можно ли сделать карту из функции сопоставления (т.е. из задач) в pyspark? Другими словами, можно ли открыть "подпрограммы" из задачи? Если да - как я передаю sparkContext для задач - как переменную?

Я хотел бы иметь работу, состоящую из множества задач - каждая из этих задач должна также создавать множество задач, не возвращаясь к драйверу.

Мой пример использования выглядит так: Я делаю перенос кода приложения, которое было написано с использованием рабочих очередей - в pyspark. В моих старых задачах приложения были созданы другие задачи - и мы использовали эту функциональность. Я не хочу перепроектировать весь код из-за перехода на искру (особенно потому, что мне нужно будет убедиться, что обе платформы работают в переходной фазе между системами)...

Ответ 1

Можно ли открыть "подпрограммы" из задачи?

Нет, по крайней мере, не здоровым образом *.

Задача - это команда, отправленная из драйвера, а Spark имеет один драйвер (центральный координатор), который связывается со многими распределенными рабочими (исполнителями).

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

Замечательные ресурсы:


* С учетом сказанного я имею в виду, что я не знаю ни о каком хаке или что-то, что, если существует, было бы слишком специфичным.