Синхронизируйте данные в HBase / HDFS и используйте их в качестве входных данных для задания MapReduce. - PullRequest
2 голосов
/ 17 февраля 2012

Я хотел бы синхронизировать данные с файловой системой Hadoop. Эти данные предназначены для использования в качестве входных данных для запланированного задания MapReduce.

Этот пример может объяснить больше:

Допустим, у меня есть входной поток документов, которые содержат несколько слов, эти слова необходимы в качестве входных данных для задания MapReduce WordCount. Таким образом, для каждого документа все слова должны быть проанализированы и загружены в файловую систему. Однако, если тот же документ снова поступает из входного потока, я хочу, чтобы изменения загружались (или удалялись) только из файловой системы.

Как должны храниться данные; я должен использовать HDFS или HBase? Объем данных не очень большой, возможно, пару ГБ.

Можно ли запускать запланированные задания MapReduce с вводом из HDFS и / или HBase?

1 Ответ

0 голосов
/ 17 февраля 2012

Сначала я выбрал бы лучший инструмент для работы, или сделал бы какое-нибудь исследование, чтобы сделать разумный выбор.Вы задаете вопрос, который является самым важным шагом.Учитывая объем данных, которые вы планируете обрабатывать, Hadoop, вероятно, является лишь одним из вариантов.Если это первый шаг к большему и лучшему, то это сузило бы поле.

Я бы тогда начал с самого простого подхода, который, как я ожидаю, сработает, что обычно означает использование инструментов, которые я уже знаю.Пишите код гибко, чтобы было легче заменить исходные варианты на более лучшие по мере того, как вы учитесь или сталкиваетесь с препятствиями.Учитывая то, что вы указали в своем вопросе, я бы начал с использования HDFS и инструментов командной строки Hadoop, чтобы перенести данные в папку HDFS (hadoop fs -put ...).Затем я бы написал работу MR или задания для обработки, запустив их вручную.Когда он работал, я бы, вероятно, использовал cron для управления расписанием заданий.

Это место для начала.Когда вы строите процесс, если вы достигаете точки, когда HBase кажется естественным образом подходящим для того, что вы хотите сохранить, переключитесь на это.Решайте по одной проблеме за раз, и это даст вам четкое представление о том, какие инструменты являются правильным выбором на каждом этапе пути.Например, вы можете перейти к этапу планирования и знать, что к этому времени cron не будет делать то, что вам нужно - возможно, в вашей организации есть требования к планированию работы, которые cron не выполнит.Итак, вы выбираете другой инструмент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...