Планирование искровых работ на своевременной основе

Который является рекомендуемым инструментом для планирования Spark Jobs на ежедневной / еженедельной основе. 1) Тина 2) Луиджи 3) Азкабан 4) Хронос 5) Воздушный поток

Заранее спасибо.

1 ответ

Решение

Обновление моего предыдущего ответа отсюда: Предложение по инструменту (ам) планирования для построения конвейеров данных на основе hadoop

  • Воздушный поток: попробуйте сначала. Достойный пользовательский интерфейс, определение задания на Python, полу-доступный для непрограммистов, синтаксис объявления зависимостей странный.
    • Воздушный поток имеет встроенную поддержку того факта, что запланированные задания часто требуют повторного выполнения и / или обратной засыпки. Убедитесь, что вы строите свои конвейеры для поддержки этого.
  • Azkaban: Отличный интерфейс, относительно простой, доступный для непрограммистов. Имеет долгую историю в LinkedIn.
    • Azkaban обеспечивает простоту (не может использовать функции, которые не существуют), а другие тонко поощряют сложность.
    • Ознакомьтесь с проектом Azkaban CLI для программного создания рабочих мест. https://github.com/mtth/azkaban (примеры https://github.com/joeharris76/azkaban_examples)
  • Луиджи: Хорошо, пользовательский интерфейс, рабочие процессы - чистый Python, требует глубокого понимания кодирования Python и объектно-ориентированных концепций, поэтому не подходит для непрограммистов.
  • Oozie: Безумные определения заданий на основе XML. Здесь будут драконы.;-)
  • Хронос: ¯\_(ツ)_/¯

Философия:

Простые конвейеры лучше, чем сложные конвейеры: их легче создавать, легче понимать (особенно если вы их не создавали) и легче отлаживать / исправлять.

Когда требуются сложные действия, вы хотите инкапсулировать их так, чтобы они либо полностью преуспели, либо полностью провалились.

Если вы можете сделать его идемпотентным (повторный запуск приводит к идентичным результатам), тогда это даже лучше.

Другие вопросы по тегам