Имя файла последовательности используется в качестве ключа в выводе Hadoop? - PullRequest
1 голос
/ 30 июня 2010

Я пытаюсь использовать Dumbo / Hadoop для вычисления TF-IDF для небольшого количества текста. файлы, использующие этот пример http://dumbotics.com/2009/05/17/tf-idf-revisited/

Чтобы повысить эффективность, я упаковал текстовые файлы в последовательность файл с помощью инструмента Стюарта Сьерры - http://stuartsierra.com/2008/04/24/a-million-little-files

Файл последовательности использует мои оригинальные имена файлов (324324.txt [the 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/

test-seq-file -output s3: // mybucket / output / test3 -param doccount = 11 - формат вывода текста

1 Ответ

1 голос
/ 03 июля 2010

Я сделал следующие настройки для первого преобразователя, и все начало работать.

#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
...