2010-06-30 24 views
1

我试图用小飞/ Hadoop的使用这个例子http://dumbotics.com/2009/05/17/tf-idf-revisited/在Hadoop输出中用作键的序列文件名称?

为了提高效率来计算TF-IDF的一帮小的文本文件 ,我已经打包的文本文件到使用斯图尔特序列 文件Sierra的工具 - 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 

我在做什么错?

我正在工作与:

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

测试序列文件 - 输出S3:// mybucket /输出/ TEST3 -param doccount = 11 - 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 
相关问题