0

Hadoop上でApachemahoutのParallelFPGrothアルゴリズムを正常に実行しています。ただし、以下に示すように、生成された出力テキストファイルは読み取り可能ではありません。

SEQorg.apache.hadoop.io.TextDorg.apache.mahout.fpm.pfpgrowth.convertors.string.TopKStringPatterns������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を実行すると、正しい出力ファイルが生成されます。

何か案は?

4

1 に答える 1

2

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

-text および -libjars と組み合わせて fs シェル コマンドを使用すると、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-04-05T10:26:00.393 に答える