2011-11-14 4 views
2

mahout을 사용하여 20- 뉴스 그룹 예제를 배포하려고 시도했지만 정상적으로 작동하는 것 같습니다. 베이 즈 모델 디렉토리 아래의 하위 디렉토리를 포함Mahout - Naive Bayes

포함

트레이너 - TFIDF 트레이너 - thetaNormalizer 트레이너 - 무게 : 호기심 나는

예를 들어

이 모델 통계에 깊이 파고 싶습니다 part-0000 파일. 더 나은 이해를 위해 파일의 내용을 읽고 싶습니다. cat 명령은 작동하지 않는 것 같아요. 쓰레기를 출력합니다.

도움을 주시면 감사하겠습니다.

감사

답변

5

'부분-00000'파일 두싯에 특정 값을 포함, 하둡에 의해 만들어진, 그리고 하둡의 SequenceFile 형식으로되어 있습니다. 텍스트 파일로 열 수 없습니다. Mahout에서 유틸리티 클래스 SequenceFileDumper을 찾을 수 있습니다.이 유틸리티는 stdout에 텍스트로 내용을 출력하려고 시도합니다.

이러한 값은 Mahout에서 수행 한 다단계 Hadoop 기반 계산의 중간 결과입니다. 이 코드가 무엇인지 더 잘 이해할 수 있도록 코드를 읽을 수 있습니다. 예를 들어 "tfidf"디렉토리에는 용어 빈도와 관련된 중간 계산이 들어 있습니다.

3

hadoop의 filesystem -text 옵션을 사용하여 part-0000 파일을 읽을 수 있습니다. 그냥 하둡 디렉토리에 들어가 다음과 같은

`bin/hadoop dfs -text /Path-to-part-file/part-m-00000` 

부분-m-00000 STDOUT에 인쇄됩니다 입력합니다.

오류가 발생하면 경로에 HADOOP_CLASSPATH 변수를 추가해야 할 수 있습니다. 예를 들어, 실행 후 당신에게

텍스트를 제공합니다 때 java.io.IOException :

후 해당 클래스를 추가 org.apache.mahout.math.VectorWritable : WritableName 클래스를로드 할 수 없습니다 당신이 "seqdumper을"요로 감염 사용해야하는) 부분-00000 (시퀀스 파일을 읽기 위해서는)

0

,

export HADOOP_CLASSPATH=/src/mahout/trunk/math/target/mahout-math-0.6-SNAPSHOT.jar 
나를 위해 일한

변수 HADOOP_CLASSPATH에 불쾌 해. 여기에 내 실험에 사용 예는 다음과 같습니다

MAHOUT_HOME $ : 빈/코끼리 조련사 seqdumper는 ~/클러스터링/실험-V1/T14/TFIDF - 벡터/부품-R-00000 -o ~/벡터를 -s -v2-1010

-s는 -o 출력 파일

입니다

일반 텍스트로 변환 할 시퀀스 파일입니다