У нас есть устаревшее приложение, которое записывает результаты в виде записей в некоторые локальные файлы. Мы хотим обрабатывать эти записи в режиме реального времени, поэтому мы планируем использовать Flink в качестве движка. Я знаю, что могу читать текстовые файлы, используя StreamingExecutionEnvironment#readFile
. Кажется, нам нужно что-то похожее на PROCESS_CONTINUOUSLY
, но этот флаг вызывает повторную обработку всего файла при каждом изменении, а здесь это не то, что нам нужно.
Конечно, я могу написать свой собственный источник, который сохраняет количество записей на файл в своем состоянии. Но я полагаю, что может быть какая-то проблема с таким подходом с контрольными точками или что-то в этом роде - я считаю, что если бы это было легко реализовать надежно, это было бы уже реализовано в Flink.
Любые советы / предложения, как подойти к этому?