Flink Checkpoint для больших исходных данных - PullRequest
0 голосов
/ 13 апреля 2020

Я использую потоковое приложение flink с входным источником в качестве файловой системы nfs и приемником в качестве производителя kafka.

Я использую функцию непрерывного мониторинга, которая пересылает разбиения файлов, которые не поддерживают parllelism, и continousFileOperator с parllelism.

Исходные данные, которые мы имеем, составляют 4 ТБ данных. для начальной передачи функции непрерывного монитора требуется много времени для подготовки состояния, которое в порядке, но контрольные точки продолжают истекать до завершения. Я изменил checkpointingTimeout на 3 часа, все еще не работает.

Могу ли я узнать, что состоит из состояния контрольной точки, имеет ли это значение с размером данных?

Могу ли я узнать, как я могу изобразить размер состояния будет?

Есть ли лучший способ сделать для первоначального запуска с большими данными?

1 Ответ

0 голосов
/ 16 апреля 2020

Я сильно подозреваю, что причиной низкой производительности является большое количество файлов, обрабатываемых одним экземпляром функции непрерывного мониторинга.

Вместо того, чтобы пытаться обрабатывать все это с одним экземпляром вашего конвейера, я бы попытался иметь много независимых конвейеров, каждый с источником, который обрабатывает часть файлов. Это может быть сделано в отдельных заданиях, но это не обязательно так: у вас может быть одно задание, которое содержит много источников и приемников.

...