PySpark: ImportError, когда один файл импортирует другой - PullRequest
0 голосов
/ 26 октября 2018

У меня проблемы при попытке распространить как файл модуля calculate_scores.py, так и пакет model_lib по рабочим узлам.Модуль calculate_scores импортирует из пакета модуль model_lib.feature_generator.(Я хочу распространить пакет, потому что есть относительный импорт в модули, которые я использую из него.) У меня есть следующие строки в записной книжке:

from calculate_scores import score_batch
sc.addPyFile("model_lib.zip")
sc.addPyFile("calculate_scores.py")

В какой-то момент я использую функцию score_batch в pyspark udf и получите ошибку

File "calculate_scores.py", line 3, in <module>
    from model_lib.feature_generator import FeatureGenerator
ImportError: No module named model_lib.feature_generator

Если я определю функцию score_batch() в записной книжке (вместо импорта ее из модуля calculate_scores), udf работает нормально и исполнителивсе можно найти в model_lib.

Как я могу это исправить, чтобы исполнители все еще знали, где найти эту зависимость, если я импортирую функцию из ее модуля?

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