2012-04-05 4 views
0

hadoop 위에 Apache mahout의 Parallel FPGroth 알고리즘을 성공적으로 실행 중입니다. 하지만PFPGrowth의 mahout 출력을 읽을 수 없습니다.

SEQorg.apache.hadoop.io.TextDorg.apache.mahout.fpm.pfpgrowth.convertors.string.TopKStringPatterns3G9 아래에서 볼 수 있듯이 generetaed 출력 텍스트 파일을 읽을 수 없습니다 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 fs -libjars /path/to/mahout/lib.jar -text /path/to/hdfs/output/part* 

// job.setOutputFormat(SequenceFileOutputFormat.class); 
job.setOutputFormat(TextOutputFormat.class); 
:이 파일이 아니라 순서보다는 텍스트를 싶은 경우

당신은 TextOutputFormat보다는 SequenceFileOutputFormat를 사용하는 작업을 작업을 실행하는 드라이버를 수정해야하고, 변경합니다