2016-08-21 3 views
1

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

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

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

ответ

2

Возможно ли, открыть «подпрограммы» из задачи?

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

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

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

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

  1. What is a task in Spark? How does the Spark worker execute the jar file?
  2. What are workers, executors, cores in Spark Standalone cluster?

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

+0

Спасибо за помощь - я думал, что это будет ответ. Я немного поиграл, и на самом деле я успешно создал другие приложения (искровые контексты) из задач и вещей, которые, как казалось, отлично работали на мелкомасштабном кластере. Я боялся, что это хак, и поведение будет неопределенным ... Вы решили мою дилемму. –

+0

@OferE. вы имеете в виду * новые * искровые контексты, не так ли? – gsamaras

+0

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

Смежные вопросы