title: Is Spark RDD cached on worker node or driver node (or both)?
body: <p>Can any one please correct my understanding on persisting by Spark.</p>
  
  <p>If we have performed a cache() on an RDD its value is cached only on those nodes where actually RDD was computed initially.
  Meaning, If there is a cluster of 100 Nodes, and RDD is computed in partitions of first and second nodes. If we cached this RDD, then Spark is going to cache its value only in first or second worker nodes.
  So when this Spark application is trying to use this RDD in later stages, then Spark driver has to get the value from first/second nodes.</p>
  
  <p>Am I correct?</p>
  
  <p>(OR)</p>
  
  <p>Is it something that the RDD value is persisted in driver memory and not on nodes ?</p>