如何在运行MapReduce时通过命令行传递外部jar?

时间:2013-09-05 07:02:06

标签: hadoop-streaming

我在Python MapReduce程序中使用nltk并使用以下命令执行它。

我发现我无法正确传递nltk和命令。任何人都可以告诉我什么是正确的语法?感谢。

1 个答案:

答案 0 :(得分:0)

让我试着回答一下。如果它不适合你,请回复我。

可能您可以尝试以下方法。由于您已使用-file选项传递Mapper.py,因此只需使用ussing -mapper Mapper.py即可,如果需要,请尝试使用-libjars代替-archives classpath中nltk.jar中的类。

hadoop jar /usr/lib/gphd/hadoop-mapreduce-2.0.2_alpha_gphd_2_0_1_0/hadoop-streaming-2.0.2-alpha-gphd-2.0.1.0.jar \
-libjars senti-data/nltk.jar \
-file senti-data/traintweets.csv \
-file senti-data/stopwords.txt \
-file /home/cduser/senti-data/Mapper.py \
-mapper Mapper.py \
-input senti-data/inputtweets.txt \
-output output