5

我正在尝试在 Hadoop 环境中执行 NLTK。以下是我用于执行的命令。

bin/hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming-1.0.4.jar -input /user/nltk/input/ -output /user/nltk/output1/ -file /home/hduser/softwares/NLTK/unsupervised_sentiment-master.zip -mapper /home/hduser/softwares/NLTK/unsupervised_sentiment-master/sentiment.py

unsupervised_sentiment-master.zip ---包含sentiment.py所需的所有依赖文件

我正进入(状态

java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 2
    at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:362)
    at org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:576)
    at org.apache.hadoop.streaming.PipeMapper.close(PipeMapper.java:135)
    at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:57)
    at org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:372)
    at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
    at org.apache.hadoop.mapred.Child.main(Child.java:249)

任何帮助将不胜感激!!!

4

4 回答 4

10

你能发布python文件吗?我的猜测是,您需要将 #!/usr/bin/python 添加到 py 文件的顶部。当我使用 python 进行流式传输时就是这种情况。

于 2013-06-08T14:33:20.970 回答
3

将下面的行添加到 python 脚本的顶部使代码对我有用。

#!/usr/bin/python

于 2014-10-05T06:18:03.503 回答
2

在您的sentiment.py文件中,将以下行添加到顶部:

```

!/usr/bin/env 蟒蛇

```

这对我有用。

于 2017-11-17T18:50:56.030 回答
1

我不能确切地说出你的错误是什么,但我的错误是我的 python 脚本中有一个未解决的依赖项。即统计模型。

于 2014-07-31T04:32:38.590 回答