Hadoop流媒体Python作业-子进程代码1失败

2024-04-19 22:13:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在Hadoop集群上部署一个算法,用Python编写,使用Hadoop流功能。当我尝试“本地”执行它时,使用以下语法

cat poi/* | ./mapper_paths.py | ./combiner_paths.py | ./reducer_paths.py

它就像一个符咒,但是当我尝试使用以下语法在集群上部署它时

hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-2.7.2.jar -input /poi -output /poi_outXXX -combiner "/root/combiner_paths.py" -mapper "/root/mapper_paths.py" -reducer "/root/reducer_paths.py"

它不能说

Error: java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 1

here是完整日志)

现在,我无法访问Python错误日志,可能是因为集群是如何部署的(我使用了thisDocker容器),所以我无法理解错误到底在哪里。你知道吗

这些是脚本:Mapper| Combiner| Reducer

提前感谢您的帮助!你知道吗


Tags: py算法hadoop部署错误语法集群root