Hadoop 和 Python:查看错误



我正在使用Hadoop流来运行一些Python代码。 我注意到,如果我的 Python 代码中存在错误(例如,在 mapper.py 中),我将不会收到有关该错误的通知。 相反,映射器程序将无法运行,作业将在几秒钟后终止。 查看日志,我看到的唯一错误是 mapper.py 无法运行或未找到,这显然不是这种情况。

我的问题是,是否有一个特定的日志文件可以检查以查看 mapper.py 代码中可能存在的实际错误?(例如,如果导入命令失败,会告诉我)

谢谢!

编辑:使用的命令:

bin/hadoop jar contrib/streaming/hadoop-streaming.jar  -file /hadoop/mapper.py -mapper /hadoop/mapper.py -file /hadoop/reducer.py -reducer /hadoop/reducer.py -input /hadoop/input.txt -output /hadoop/output

以及我希望看到错误的我引用的帖子:Hadoop 和 NLTK:失败并带有停用词

关于日志问题,请参阅它,这有助于:

MapReduce:标准输出和标准错误的日志文件位置

我想如果 python 文件无法运行,那么解释器应该打印到 stdout,你会在该节点的 stdout 日志中看到它。

评论后编辑:

假设您处于Hadoop的完全分布式环境中,并且知道如何在节点中为python配置NLTK,则需要在集群的所有节点中存在NLTK包才能实际具有python导入from nltk.corpus import stopwords并使用命令stopwords.words('english')

在我看来,NLTK 需要在集群的所有节点中手动配置,mapper.py python 脚本才能真正工作。

如果这些没有帮助,请尝试此链接,如果您向下滚动,则专门讨论NLTK作为示例。

相关内容

  • 没有找到相关文章

最新更新