尝试在工作程序节点上分发模块文件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")
有时,我在pyspark udf中使用函数score_batch
,并得到错误
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
中找到所有内容。
我应该如何解决这个问题,以便如果我从其模块中导入函数,执行者仍然知道在哪里可以找到此依赖项?