title: Spark - Spark RDD is a logical collection of instructions?
body: <p>A quick walk through the pretty interesting Apache Spark architecture guide for beginners as shown in this <a href="https://0x0fff.com/spark-architecture/" rel="nofollow">tutorial</a> , I came across a couple of queries regarding RDD processing in spark as below,</p>
  
  <ol>
  <li>In my understanding an RDD is a logical collection of instructions that are going to be executed on a physical dataset (lazy execution). Is my understanding correct? or Is it a physical dataset in memory.</li>
  <li><p>Let the file of 20 GB stored in a hdfs and the same is being processed by spark application. This file will be distributed across the hadoop cluster for storage. So, If Datanode A holds 3 blocks of total size 192 MB, this 3 blocks are going to be executed in the same executor of dataNode A or is there any block to executor concept ?  </p></li>
  <li><p>Is executor program responsible to load data from hdfs blocks?</p></li>
  </ol>
  
  <p>Any help in understanding the above concepts is highly appreciated. Thanks. </p>