我已经看到了一种技术(在 stackoverflow 上),用于使用 zip 文件执行 hadoop 流作业来存储引用的 python 模块。
我在作业执行的映射阶段遇到了一些错误。我相当肯定它与压缩模块加载有关。
为了调试脚本,我使用命令行管道通过 sys.stdin/sys.stdout 将我的数据集运行到我的映射器和减速器中,如下所示:
头输入数据文件.txt | ./mapper.py | 排序-k1,1 | ./reducer.py
结果看起来很棒。
但是,当我通过 hadoop 运行它时,我开始遇到一些问题。即:映射器和reducer 失败,整个hadoop 作业完全失败。
我的压缩模块文件包含 *.pyc 文件 - 这会影响这件事吗?
另外,我在哪里可以找到在使用 hadoop 流的映射/缩减过程中产生的错误?
我已经使用 -file 命令行参数来告诉 hadoop 压缩模块的位置以及我的映射器和减速器脚本的位置。
我没有做任何疯狂的配置选项来增加工作中使用的映射器和减速器的数量。
任何帮助将不胜感激!谢谢!