#apache-flink #flink-streaming
#apache-flink #flink-потоковая передача
Вопрос:
У меня есть пакетное задание flink. Каков наилучший способ непрерывной работы? (По завершении его необходимо перезапустить, поскольку потоковое задание может предоставить новые данные)
Я хочу немедленно перезапустить задание, если оно завершено.
- Бесконечный цикл и внутренний вызов задач?
- Создайте скрипт bash и всегда загружайте задание в jobmanager? (Я думаю, что это действительно большая трата ресурсов)
Спасибо
Комментарии:
1. Почему в первую очередь не используется потоковое задание?
2. @MatthiasJ.Sax как ты думаешь? Я хочу прочитать новые записи из mongodb… Что вызовет поток? Поток разработан (и оптимизирован) для непрерывной обработки входных данных, а не для пакетного задания (пакетные задания оптимизированы по-разному)
3. Я цитирую ваш вопрос: «Его необходимо перезапустить, когда он будет завершен, потому что потоковое задание может предоставить новые данные». Может быть, вы можете подробнее рассказать об общих настройках. Вы хотите обрабатывать все данные из MongoDB в каждом пакетном задании? Или вы обрабатываете «разницу»?
4. У меня есть коллекция, потоковое задание, записывающее новые данные, когда они поступают из kafka. Агрегатор извлекает все данные из коллекции, фильтрует (проверяет, существуют ли их зависимости), обрабатывает и удаляет обработанные данные (некоторые данные все еще остаются в коллекции и могут быть обработаны на следующей итерации)
5. @MatthiasJ.Sax Основная проблема с потоковой передачей из mongo: вы не можете определить, когда документ обработан, если для обработки требуется много времени, вы уже можете извлечь его из коллекции.
Ответ №1:
В аналогичном случае использования, когда мы запускаем задание Flink для одной и той же коллекции; мы запускаем новое задание с периодическими интервалами. [ежедневно, ежечасно и т. Д.] https://azkaban.github.io / может использоваться для планирования. На самом деле это НЕ то, что вы упомянули. Но близкого соответствия, которого может быть достаточно для решения вашего варианта использования.