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

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

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

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

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

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

Моя идея состоит в том, чтобы заменить скрипты на Spring-Batch. Я также изучил Scriptella , но я считаю, что это слишком «просто» для этого случая.

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

7
задан Eran Harel 16 August 2010 в 16:52
поделиться