无法读取PFPGrowth的mahout输出

时间:2012-04-05 09:47:54

标签: apache hadoop mahout mahout-recommender

我在hadoop上成功运行Apache mahout的并行FPGroth算法。 但是,如下所示,生成的输出文本文件无法读取

SEQorg.apache.hadoop.io.TextDorg.apache.mahout.fpm.pfpgrowth.convertors.string.TopKStringPatterns3G9y'e1 21t51t41 142273113476t11340 h15795N12701K13610 @ 12106 ...

使用相同的输入文件运行RecommenderJob和ItemSimilarityJob会生成正确的 输出文件。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

这些输出文件是序列文件,而不是文本文件。它们包含<Text, TopKStrinPatterns>

类型的键/值对

你可以使用fs shell命令,结合-text和-libjars来获取hadoop来读取序列文件并输出这些对象的文本版本:

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

如果您希望这些文件是文本而不是序列,那么您需要修改运行该作业的驱动程序,并将作业更改为使用TextOutputFormat,而不是SequenceFileOutputFormat

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