hadoop和python:视图错误

fjaof16o  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(217)

我正在使用hadoop流来运行一些python代码。我注意到,如果我的python代码中有错误(例如在mapper.py中),则不会通知我该错误。相反,mapper程序将无法运行,作业将在几秒钟后终止。查看日志时,我看到的唯一错误是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:failed with stopwords

sc4hvdpw

sc4hvdpw1#

评论后编辑:
假设您处于一个完全分布式的hadoop环境中,并且知道如何在一个节点中为python配置nltk,那么您需要在集群的所有节点中提供nltk包,才能真正导入python from nltk.corpus import stopwords 然后使用命令 stopwords.words('english') .
在我看来,nltk需要在集群的所有节点中手动配置,mapper.py python脚本才能真正工作。
如果这些都没有帮助,请尝试这个链接,其中特别谈到nltk作为一个例子,如果你向下滚动。

6mw9ycah

6mw9ycah2#

关于日志问题,请参阅此帮助:
mapreduce:stdout和std err的日志文件位置
我假设如果python文件无法运行,那么解释器应该打印到stdout,您将在该节点的stdout日志中看到它。

相关问题