在Hadoop输出中用作键的序列文件名?

2024-09-30 05:18:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用Dumbo/Hadoop计算一堆小文本的TF-IDF 使用此示例的文件http://dumbotics.com/2009/05/17/tf-idf-revisited/

为了提高效率,我将文本文件打包成一个序列 使用Stuart Sierra的工具--http://stuartsierra.com/2008/04/24/a-million-little-files

序列文件使用我的原始文件名(324324.txt[ 对象_身份证.txt])作为键,文件内容作为值。在

问题是每行输出看起来像:

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

我想要的是:

^{pr2}$

我做错什么了?在

我负责这项工作:

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

测试序列文件-输出s3://mybucket/output/test3-param doccount=11- 输出格式文本


Tags: 文件文本txtcomhadoophttp示例input
1条回答
网友
1楼 · 发布于 2024-09-30 05:18:51

我对第一个映射器做了以下调整,一切都开始工作了。在

#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

相关问题 更多 >

    热门问题