Что делает контрольная точка в Apache Spark?

Что контрольные точки делают для Apache Spark и требуют ли они каких-либо обращений к ОЗУ или ЦП?


person cshin9    schedule 14.04.2016    source источник
comment
Что вам не понятно из прочтения документации? spark.apache.org/docs/latest/   -  person OneCricketeer    schedule 14.04.2016
comment
Возможный дубликат В чем разница между зажечь контрольную точку и сохранить на диск   -  person zero323    schedule 14.04.2016


Ответы (1)


Из документации по потоковой передаче Apache. Надеюсь, это поможет:

Потоковое приложение должно работать 24/7 и, следовательно, должно быть устойчивым к сбоям, не связанным с логикой приложения (например, системным сбоям, сбоям JVM и т. д.). Чтобы это стало возможным, Spark Streaming должен передавать достаточно информации в отказоустойчивую систему хранения, чтобы она могла восстанавливаться после сбоев. Есть два типа данных, которые являются контрольными точками.

  • Metadata checkpointing - Saving of the information defining the streaming computation to fault-tolerant storage like HDFS. This is used to recover from failure of the node running the driver of the streaming application (discussed in detail later). Metadata includes:
    • Configuration - The configuration that was used to create the streaming application.
    • Операции DStream — набор операций DStream, определяющих потоковое приложение.
    • Неполные партии
    • Пакеты, задания которых поставлены в очередь, но еще не завершены.
  • Контрольные точки данных — сохранение сгенерированных RDD в надежном хранилище. Это необходимо в некоторых преобразованиях с отслеживанием состояния, которые объединяют данные из нескольких пакетов. В таких преобразованиях сгенерированные СДР зависят от СДР предыдущих пакетов, что приводит к увеличению длины цепочки зависимостей со временем. Чтобы избежать такого неограниченного увеличения времени восстановления (пропорционального цепочке зависимостей), промежуточные RDD преобразований с отслеживанием состояния периодически отправляются в надежное хранилище (например, HDFS), чтобы отключить цепочки зависимостей.

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

person Felipe Gustavo    schedule 14.04.2016