PySpark:当一个pyfile导入另一个pyfile时,发生ImportError

时间:2018-10-25 22:19:59

标签: pyspark

尝试在工作程序节点上分发模块文件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中找到所有内容。

我应该如何解决这个问题,以便如果我从其模块中导入函数,执行者仍然知道在哪里可以找到此依赖项?

0 个答案:

没有答案