Автозагрузка изменений в модулях, которые добавляются как зависимость PySpark в программу Driver - PullRequest
0 голосов
/ 20 ноября 2018

Я только что заметил небольшую проблему при использовании addPyFile в PySpark и autoreload в Jupyter Notebooks.

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

Однако после этого изменения в этих модулях не загружаются автоматически, например, при работе в IPython / Jupyter Notebook.В частности, запуск

import mypath.mymodule as mm
import imp
imp.reload(mm)

обычно показывает путь к модулю, например, <module 'mypath.mymodule' from 'C:\\project\\mypath\\mymodule.py'>

Однако после инициализации Spark и отправки заархивированных файлов с помощью addPyFile, приведенный выше кодбудет выводить что-то вроде: <module 'mypath.mymodule' from 'C:\\Users\\username\\AppData\\Local\\Temp\\spark-....\\userFiles-...\\zipped_modules.zip\\mypath\\mymodule.py'>

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

Есть ли способ в этом случае автоматически перезагружать изменения из модулей в программе драйвера?

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