2010-06-30 2 views
1
내가 효율성을 개선하기 위해이 예 http://dumbotics.com/2009/05/17/tf-idf-revisited/

시퀀스 파일 이름이 Hadoop 출력의 키로 사용됩니까?

를 사용하여 작은 텍스트 파일들을위한 TF-IDF을 계산하는 덤보/하둡을 사용하려고 해요

, 나는 스튜어트를 사용하여 시퀀스 파일에 텍스트 파일을 포장했습니다 시에라의 도구 - http://stuartsierra.com/2008/04/24/a-million-little-files

시퀀스 파일은 원래의 파일 이름 (324324.txt [ object_id.txt])을 값으로 사용하고 파일 내용을 값으로 사용합니다.

[aftershocks, s3://mybucket/input/test-seq-file]  7.606329176204189E-4 

내가 원하는 것은 : 내가 잘못 뭐하는 거지

[aftershocks, 324324.txt]  7.606329176204189E-4 

문제는 출력의 각 행의 모습이다?

내가 함께 작업을 실행 해요 : - 출력 S3

dumbo start tfidf.py -hadoop /home/hadoop -input s3://mybucket/input/ 

시험 서열 파일 : // mybucket/출력/TEST3 = 11 doccount -param - outputformat 텍스트

답변

1

내가 만든 첫 번째 매퍼에 다음과 같이 조정하면 모든 작업이 시작됩니다.

#Original version 
@opt("addpath", "yes") 
def mapper1(key, value): 
    for word in value.split(): 
     yield (key[0], word), 1 

#Edits version 
def mapper1(key, value): 
    for word in value.split(): 
     yield (key, word), 1 
관련 문제