Я не уверен, что вы подразумеваете под "... используйте Flink для запроса файлов".Вы можете создать пользовательскую SourceFunction , которая знает, как читать из локальных файлов, которые вы затем анализируете / обрабатываете с помощью Flink, и представляете результаты с помощью Queryable State .Если в этом потоке нет разделения, то все эти цепочечные операторы будут работать в одном и том же слоте в диспетчере задач и, таким образом, минимизировать сетевой трафик.
Вы бы хотели установить параллелизм SourceFunction равным числуузлов (и, следовательно, количество менеджеров задач).Но вам все равно нужно убедиться, что Flink не запускает две одинаковые SourceFunction на одном диспетчере задач и, следовательно, на одном и том же узле, что вам не подойдет.
В общем, Flinkне обеспечивает большой поддержки для точного размещения задач.Я думаю, что если вы установите taskmanager.numberOfTaskSlots в 1, то это может заставить его развернуть отдельную функцию SourceFunction (плюс цепочечные операторы, следующие за ней) для каждого диспетчера задач, но вам придется попробовать.
С уважением
- Кен