将oozie.common.file导入为文件ImportError:没有名为oozie的模块

时间:2016-09-11 11:02:01

标签: python-2.7 hadoop oozie jython-2.7

从其他模块导入文件时出现此错误?有人可以告诉我原因是什么。它在控制台中正常运行但是当我将其作为oozie作业运行时,命令失败。

文件夹结构:

oozie/common/file.py
oozie/common/__init__.py
oozie/__init__py

我想要导入的位置:

oozie/mylocation/pjt.py
oozie/common/__init__.py

命令:

import oozie.common.file as file

1 个答案:

答案 0 :(得分:0)

您的python代码将从存储它的HDFS移动到执行的datanode的本地文件系统中。 确保将所需的所有文件都设置到oozie作业中,否则其中一些文件将不会下载到所选的datanode中。

请记住:

1)必须在每个datanode上安装所有python系统库

2)如果设置PYTHON LIBPATH,本地库可以工作。

所以你在你的python脚本中第一行,应该是设置库路径的东西。

在我看来,要将所有类保存到同一个文件中,python(如果可以的话)是在oozie上启动它们时的无痛解决方案。

如果您可以开始使用Java。