【问题标题】:Can't read mahout output of PFPGrowth无法读取 PFPGrowth 的 mahout 输出
【发布时间】:2012-04-05 09:47:54
【问题描述】:

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

SEQorg.apache.hadoop.io.TextDorg.apache.mahout.fpm.pfpgrowth.convertors.string.TopKStringPatterns������3G9��y'����e������1�� ��2������������1����������5�1������������4�1�������� ����1�4227������������3�1�������������1�3476����������t�1�1340�� ��������h�1�5795���������N�1�2701���������K�1�3610���������@ �1�2106�������� ...

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

有什么想法吗?

【问题讨论】:

    标签: apache hadoop mahout mahout-recommender


    【解决方案1】:

    这些输出文件是序列文件,而不是文本文件。它们包含<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);
    

    【讨论】:

      猜你喜欢
      • 2012-05-18
      • 2012-08-04
      • 2014-10-18
      • 1970-01-01
      • 1970-01-01
      • 2013-12-23
      • 1970-01-01
      • 1970-01-01
      • 2011-11-04
      相关资源
      最近更新 更多