2012-04-05 71 views
0

我在hadoop之上成功運行Apache mahout的並行FPGroth算法。 但generetaed輸出文本文件無法讀取,你可以看到下面無法讀取PFPGrowth的mahout輸出

SEQorg.apache.hadoop.io.TextDorg.apache.mahout.fpm.pfpgrowth.convertors.string.TopKStringPatterns3G9 y'e121t51 t41142273113476 t11340h15795N12701 K 1 3610 @ 1 2106 ...

Ru nning RecommenderJob和ItemSimilarityJob具有相同的輸入文件,生成正確的 輸出文件。

任何想法?

回答

2

這些輸出文件是序列文件,而不是文本文件。它們包含類型的鍵/值對<Text, TopKStrinPatterns>

你可以得到的Hadoop來讀取序列文件和輸出使用fs shell命令這些對象的文本版本,結合-text和-libjars:

hadoop fs -libjars /path/to/mahout/lib.jar -text /path/to/hdfs/output/part* 

如果你想這些文件是文本,而不是序列,那麼你就需要修改它運行作業的驅動程序,並更改作業時使用TextOutputFormat,而不是SequenceFileOutputFormat

// job.setOutputFormat(SequenceFileOutputFormat.class); 
job.setOutputFormat(TextOutputFormat.class);