2012-04-05 9 views
0

hadoopの上にApache mahoutのパラレルFPGrothアルゴリズムを正常に実行しています。 しかしgeneretaed出力テキストファイルは、PFPGrowthのマウアウト出力を読み取ることができません

以下SEQorg.apache.hadoop.io.TextDorg.apache.mahout.fpm.pfpgrowth.convertors.string.TopKStringPatterns3G9を見ることができるように読めるではありません 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 ...

Ru同じ入力ファイルを使用してRecommenderJobとItemSimilarityJobを作成すると、正しい出力ファイル が生成されます。

アイデア?

答えて

2

これらの出力ファイルはテキストファイルではなく、シーケンスファイルです。彼らはタイプのキー/値のペアを含む<Text, TopKStrinPatterns>

あなたはシーケンスファイルと出力のfsシェルコマンドを使用して、これらのオブジェクトのテキストバージョン、-textと-libjarsと組み合わせて読むためにHadoopを得ることができます

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

これらのファイルは、テキストではなく、シーケンスになりたいなら、あなたがジョブを実行するドライバを修正する必要があり、むしろSequenceFileOutputFormatよりも、TextOutputFormatを使用するジョブを変更します:

// job.setOutputFormat(SequenceFileOutputFormat.class); 
job.setOutputFormat(TextOutputFormat.class); 
関連する問題