С точки зрения архитектуры, Hadoop может справиться с этим, но вам нужно создать какой-нибудь внешний интерфейс (или работать с несколькими из них с открытым исходным кодом) и позволить Hadoop выполнять свою работу.
Как и любая хорошая система, Hadoop не может и не должен делать все, но у вас есть несколько вариантов для изучения.
Если вы потратили немного времени и разработали некоторые сценарии с базой данных (или очередью)за ними вы можете решить эту проблему самостоятельно довольно быстро (при условии, что вы можете написать что-то на Ruby или Python и иногда вызывать сценарий bash, тогда это очень просто, и даже если вы используете Java, сложность не намного больше, чем смешивание сценария bash свыходной слой Ruby или Python).
Шаг 1: Файлы катятся (в зависимости от вашего параметра [1GB или чего-либо другого] в каталог / хранилище, и вставка «свернутого» файла вставляется в таблицу (или очередь) ... если вы не можете вставить, когда катитесь, вы можете отсканировать каталог (через cron) и переместить файл в новый каталог и вставить в db там имя и местоположение.
Шаг 2: cron(в любой желаемый промежуток времени, скажем, раз в час) другой сценарий, чтобы перейти в базу данных (или очередь) и получить ВСЕ файлВы хотите MapReduce.
Шаг 3: В сценарии шага 2 создайте цикл для файлов, которые вы найдете, и для нескольких потоков (или, если вы используете Ruby лучше для форка), и вставьте эти файлы в Hadoop.Я говорю push, потому что метод может быть простым «hadoop df -put» (где вы можете использовать скрипт bash, вызываемый из скрипта ruby или python) ... или какой-нибудь пользовательский загрузчик jar-файлов в зависимости от того, что вам нужно ... Вывозможно, что другая таблица будет сохранять файлы как относящиеся к какой-либо работе, но я оставляю это вам.
Шаг 4: запустите работу (либо из третьего скрипта, заставляющего ваши таблицы иметь некоторое представление о событиях, либо просто какпоследняя строка после того, как вы отправили файлы в Hadoop) и получите вывод, чтобы сделать то, что вы хотите.
Параметры открытого источника
Вы можете использовать Oozie http://yahoo.github.com/oozie/releases/2.2.1/ - это решение Workflow для Hadoop Open Sourced от Yahoo, в котором вы тоже можете найти какое-то применение, но все зависит от того, сколько вы будете извлекать из приложенных усилий. Для того, что вы делаете, это звучит как некоторое усилие вПользовательский набор сценариев - это способ автоматизации вашего рабочего процесса .... но взгляните на Oozie.
Другой рабочий процесс для Hadoop - Azkaban http://sna -projects.com / azkaban /
Наконец, вы можете рассмотреть возможность использования потоковой архитектуры для перемещения файлов в HDFS ... Теперь в течение дня существует 3 метода (Kafka является новым и только что выпущен несколько дней назад с большим количеством очередей позади)его основная архитектура, чем у двух других)
1) Flume https://github.com/cloudera/flume/wiki
2) Scribe HDFS http://hadoopblog.blogspot.com/2009/06/hdfs-scribe-integration.html
3) Kafka http://sna -проекты.com / Kafka /