2011-11-30 71 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

完全可行... –

相關問題