Я пытаюсь понять содержимое контрольной точки и соответствующее восстановление; понимание процесса контрольно-пропускного пункта, очевидно, является естественным способом достижения этой цели, и поэтому я перебрал следующий список:
Я все еще пытаюсь понять, что происходит и сидит на диске в конце контрольной точки.
Мое понимание контрольной точки искры:
Если у вас действительно длинные группы доступности баз данных и ваш искровой кластер выходит из строя, проверка контрольных точек помогает путем сохранения промежуточного состояния, например, в HDFS. Таким образом, DAG из 50 преобразований может быть уменьшен до 4-5 преобразований с помощью контрольной точки. Это нарушает DAG.
Проверка в потоковом режиме
Работа My Spark Streaming имеет микропакет 5 секунд. Как я понимаю, новое задание отправляется JobScheduler каждые 5 секунд, которое вызывает JobGenerator для создания RDD DAG для новая микробатка от DStreamGraph , в то время как получатель тем временем продолжает собирать данные для следующей новой микробатки для следующего цикла. Если я включу контрольную точку, как я понимаю, она будет периодически продолжать контрольную точку "текущего состояния".
Вопрос:
Что это за «состояние»? Является ли это комбинацией базового СДР и состояния операторов / преобразований группы обеспечения доступности баз данных только для данной микропартии ? Итак, у меня есть следующее:
ubatch 0 at T=0 ----> SUCCESS
ubatch 1 at T=5 ----> SUCCESS
ubatch 2 at T=10 ---> SUCCESS
--------------------> Checkpointing kicks in now at T=12
ubatch 3 at T=15 ---> SUCCESS
ubatch 4 at T=20
--------------------> Spark Cluster DOWN at T=23 => ubatch 4 FAILS!!!
...
--------------------> Spark Cluster is restarted at *T=100*
Что конкретно идет и садится на диск в результате контрольной точки на T = 12 ? Будет ли он просто хранить текущее состояние операторов DAG для ubatch 2 ?
а. Если да, то при восстановлении на T = 100 последняя доступная контрольная точка на T = 12 . Что происходит с ubatch 3 в T = 15 , который уже был успешно обработан. Приложение повторно обрабатывает ubatch 3 и обрабатывает идемпотентность здесь? Если да, идем ли мы к источнику потоковой передачи, например Кафка и перемотка смещения, чтобы иметь возможность воспроизвести содержимое, начиная с ubatch 3 ?
б. Если нет, то что именно входит в каталог контрольных точек при T = 12?