Как Apache Flink восстанавливает состояние из контрольной точки / точки сохранения?
Мне нужно знать, как Apache Flink восстанавливает свое состояние из контрольной точки, потому что я не вижу никакой разницы между временем запуска и первым событием в операторе при запуске чистых стихов заданий, восстанавливающих из точки сохранения.
Состояние лениво загружается из контрольной точки / точки сохранения?
1 ответ
Интерфейсы с ключевыми состояниями разработаны для того, чтобы сделать это различие прозрачным. Как отметил Давид, состояние загружается во время запуска задания. Обратите внимание, что значение загрузки состояния зависит от того, какой бэкэнд состояния используется.
В случае состояния оператора CheckpointedFunction
интерфейс имеет этот метод
public void initializeState(FunctionInitializationContext context)
где контекст имеет isRestored()
метод, который позволяет узнать, восстанавливаетесь ли вы после сбоя. См. Документацию по состоянию управляемого оператора для более подробной информации, включая пример.