Ich versuche eine Sequenzdatei zu streamen, die von einem der Mahout-Beispiele generiert wurde, um deren Inhalt anzuzeigen:
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
Der Job beginnt erfolgreich und stirbt schließlich mit:
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
Ich frage mich, ob mit meinem Streaming etwas nicht stimmtjar-datei, wenn ich explizit auf das Mahout-jar verweisen muss, das über diese Klasse verfügt (versucht, HADOOP_CLASSPATH auf den Speicherort von mahout-core-0.5-cdh3u2.jar zu setzen, aber nicht funktioniert) oder vielleicht sogar etwas anderes?
Jede Hilfe wird geschätzt. Vielen Dank.
Antworten:
2 für die Antwort № 1Fügen Sie diese Option hinzu:
-libjars mahout-core-0.5-cdh3u2.jar