If an Executor fails halfway through the job, Spark doesn't restart everything. The Driver knows exactly which partition was lost and which transformations created it, so only the missing work is ...