Spring-Batch для массовой ночной / почасовой обработки данных Hive / MySQL - PullRequest
7 голосов
/ 16 августа 2010

Я собираюсь заменить набор сценариев Python ETL, которые выполняют ежечасные / ежечасные сводки данных и сбор статистики для огромного количества данных.

Чего я хотел бы добиться, так это

  • Надежность - неудачное задание / шаг должен автоматически перезапускаться.В некоторых случаях я хотел бы вместо этого выполнить шаг восстановления.
  • Платформа должна быть в состоянии восстанавливаться после сбоев.Я предполагаю, что здесь потребуется некоторая настойчивость.
  • Мониторинг - мне нужно иметь возможность отслеживать ход выполнения заданий / шагов и предпочтительно просматривать историю и статистику в отношении производительности.
  • Отслеживаемость- Я должен быть в состоянии понять состояние выполнения
  • Ручное вмешательство - приятно иметь ... возможность запускать / останавливать / приостанавливать работу из API / интерфейса пользователя / командной строки.
  • Простота - я предпочитаю не сердиться на взгляды моих коллег, когда я представляю замену ... Требуется простой и понятный API.

Текущие сценарии выполняют следующее:

  • Соберите текстовые журналы со многих машин и вставьте их в Hadoop DFS.Мы можем использовать Flume для этого шага в будущем (см. http://www.cloudera.com/blog/2010/07/whats-new-in-cdh3b2-flume/).
  • Выполнять Hive сводные запросы к данным и вставлять (перезаписывать) в новые таблицы / разделы Hive.
  • Извлечение новых сводных данных в файлы и загрузка (слияние) в таблицы MySql. Это данные, которые понадобятся позже для онлайновых отчетов.
  • Выполнение дополнительных объединений для вновь добавленных данных MySql (из таблиц MySql).) и обновите данные.

Моя идея состоит в том, чтобы заменить скрипты на подпружиненные. Я также изучил Scriptella , но я считаю, что это слишком "просто" дляэтот случай.

, так как я видел некоторые плохие вибрации в Spring-Batch (в основном, старые сообщения), я надеюсь получить здесь некоторую информацию. Я также мало что видел об интеграции Spring-Batch и Hive, котораяхлопотно.

Ответы [ 3 ]

3 голосов
/ 04 октября 2010

Если вы хотите остаться в экосистеме Hadoop, я настоятельно рекомендую проверить Oozie для автоматизации вашего рабочего процесса. Мы (Cloudera) предоставляем упакованную версию Oozie , которую вы можете использовать для начала работы. См. Наш недавний пост в блоге для получения более подробной информации.

1 голос
/ 22 апреля 2012

Я немного использовал Cascading и нашел его довольно впечатляющим:

каскадный

Это уровень абстракции M / R, работающий на Hadoop.

1 голос
/ 27 сентября 2010

Почему бы не использовать JasperETL или Talend ? Похоже, правильный инструмент для работы.

...