2011-11-30 33 views
1

我试图通过流的亨利马乌例子之一生成的序列文件,查看其内容:不能用Hadoop流读取亨利马乌生成的序列文件

hadoop jar hadoop-streaming-0.20.2-cdh3u0.jar \ 
    -input /tmp/mahout-work-me/20news-bydate/bayes-test-input-output/ \ 
    -output /tmp/me/mm \ 
    -mapper "cat" \ 
    -reducer "wc -l" \ 
    -inputformat SequenceFileAsTextInputFormat 

作业成功启动并最终死亡:

11/11/30 21:08:39 INFO streaming.StreamJob: map 0% reduce 0% 
11/11/30 21:09:17 INFO streaming.StreamJob: map 100% reduce 100% 
java.lang.RuntimeException: java.io.IOException: WritableName can't load class: org.apache.mahout.common.StringTuple 

我不知道什么是错的我流jar文件,如果是Ⅱ需要明确指向具有这个类的亨利马乌罐子(尝试设置HADOOP_CLASSPATH到Mahout的核心-0.5-cdh3u2.jar的位置但没有工作),或者甚至还有其他东西?

任何帮助表示赞赏。谢谢。

+0

想通了。 提供下列选项:-libjars〜/亨利马乌-0.5-cdh3u2 /象夫核-0.5-cdh3u2.jar到命令解决了这个问题: 的hadoop罐子Hadoop的流-0.20.2-cdh3u0.jar \ - libjars〜/ mahout-0.5-cdh3u2/mahout-core-0.5-cdh3u2.jar \ -input/tmp/mahout-work-me/20news-bydate/bayes-test-input-output/\ -output/tmp/me/mm \ -mapper“cat”\ -reducer“wc -l”\ -inputformat SequenceFileAsTextInputFormat – magicalo

回答

2

添加此选项:

-libjars mahout-core-0.5-cdh3u2.jar 
+0

完全可行... –

相关问题