Spark provides checkpoints to run around the clock for a program and also making it resilient failure by not relating application logic. In these, the lineage graphs are very much used to recover the Resilient Distribution Datasets from failure. Spark comes with API for managing and adding checkpoints. Then finally, the user decides which data to the checkpoints.