В Hadoop, как обрабатывать ежедневно растущие данные - PullRequest
0 голосов
/ 10 февраля 2012

В Hadoop, как обрабатывать ежедневно растущие данные:

Например:

1-й день у меня может быть 1 миллион файлов в некоторой входной папке (например, hadoop / demo)

2-й день в той же папке, файлы могут увеличиться с существующего 1 миллиона файлов + еще один новый миллион файлов, то есть всего 2 миллиона.

также 3-ий 4-й день ... продолжай идти.

Мое ограничение -> файлы 1-го дня не должны обрабатываться на следующий день.

(т. Е.) Уже обработанные файлы не должны снова обрабатываться при добавлении новых файлов. Более конкретно, должны обрабатываться только новые добавленные файлы, а более старыми файлами следует пренебрегать.

Так помогите мне, как я могу решить эту проблему.

Тем не менее, если вы не поняли ограничение, пожалуйста, скажите, где неясно, чтобы я мог подробнее рассказать о своем ограничении!

1 Ответ

2 голосов
/ 10 февраля 2012

Это не какое-то мнение, поддерживаемое самим hadoop, поскольку оно является частью логики приложения. Я хотел бы предложить какое-нибудь решение на основе HDFS, поэтому у вас будет каталог (или лучшая иерархия каталогов с подкаталогом для каждого дня) с данными, которые еще предстоит обработать.
Ваша ежедневная работа должна взять все данные там, обработать их и перейти в «обработанную» папку.
Обычный компромисс, который имеет смысл, состоит в том, чтобы создать логику так, чтобы случайная двойная обработка какого-либо файла не вызывала проблем.
. В этом случае сбой задания после обработки, но перед переездом проблем не составит.
Вместо ежедневного планирования вы можете использовать некоторые инструменты wokrflow, которые могут запускать задания по доступности данных, хотя я лично их еще не использовал.

...