Как поддерживать непрерывное выполнение пакетного задания flink на локальном

#java #apache-flink #flink-streaming #flink-batch

Вопрос:

Я практикуюсь в чтении файлов с помощью механизма пакетной обработки flink на компьютере с Windows 10.

Я скачал flink-1.7.2-bin-hadoop24-scala_2.12.tgz с официального сайта flink и выполнил запуск-cluster.bat .

Я загрузил банку через пользовательский интерфейс Flink и смог выполнить задание, но оно было выполнено за считанные секунды.

Я хочу, чтобы работа выполнялась непрерывно, чтобы я мог протестировать свой вариант использования .

Можете ли вы подсказать мне возможные пути достижения этой цели?

Комментарии:

1. Что значит постоянно выполнять пакетное задание?

2. @DavidAnderson: Работа должна выполняться непрерывно до тех пор, пока я не остановлю ее вручную.

3. Почему бы вместо этого не запустить его с помощью API потока данных?

Ответ №1:

В Flink пакетные задания выполняются до тех пор, пока не будут обработаны все их входные данные, после чего они завершаются и завершаются. Если вы хотите непрерывной обработки, то вам следует либо

  • используйте некоторую автоматизацию развертывания (за пределами Flink), чтобы организовать создание новых пакетных заданий по мере необходимости, или
  • реализовать потоковое задание

В вашем случае это звучит так, как будто вы, возможно, ищете FileProcessingMode.PROCESS_CONTINUOUSLY опцию на StreamExecutionEnvironment.readfile — смотрите документы для получения дополнительной информации.

Комментарии:

1. Есть ли у вас какая-нибудь примерная программа для ее использования?

2. К пункту № 2 «реализация потоковой работы» : какая реализация может быть выполнена. Не могли бы вы поподробнее?