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的位置但没有工作),或者甚至还有其他东西?
任何帮助表示赞赏。谢谢。
想通了。 提供下列选项:-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