Планирование искровых работ на своевременной основе
Который является рекомендуемым инструментом для планирования 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. Здесь будут драконы.;-)
- Хронос: ¯\_(ツ)_/¯
Философия:
Простые конвейеры лучше, чем сложные конвейеры: их легче создавать, легче понимать (особенно если вы их не создавали) и легче отлаживать / исправлять.
Когда требуются сложные действия, вы хотите инкапсулировать их так, чтобы они либо полностью преуспели, либо полностью провалились.
Если вы можете сделать его идемпотентным (повторный запуск приводит к идентичным результатам), тогда это даже лучше.