无法读取 PFPGrowth 的驯象输出



我在hadoop上成功运行了Apache mahout的并行FPGroth算法。但是生成的输出文本文件是不可读的,正如你在下面看到的那样

SEQ Org.apache.hadop.io.TextDorg.apache.mahout.fpm.pfpgrowth.covertors.string.TopK字符串模式������3G9��y����e�����1.���2.�����������1.���������t�5.�1.���������t�4.�1.�����������1.�4227�����������3.�1.�����������1.�3476���������t�1.�1340���������h�1.�5795���������N�1.�2701���������K�1.�3610���������@�1.�2106��������…

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

有什么想法吗?

这些输出文件是序列文件,而不是文本文件。它们包含<Text, TopKStrinPatterns> 类型的密钥/值对

您可以让hadoop读取序列文件,并使用fsshell命令与-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);

相关内容

  • 没有找到相关文章

最新更新