What is the difference between Spark Standalone, YARN and local mode?
<p><strong>Spark Standalone:</strong></p>

<p>In this mode I realized that you run your Master and worker nodes on your local machine. </p>

<p>Does that mean you have an instance of YARN running on my local machine? Since when I installed Spark it came with Hadoop and usually YARN also gets shipped with Hadoop as well correct? And in this mode I can essentially simulate a smaller version of a full blown cluster.</p>

<p><strong>Spark Local Mode:</strong></p>

<p>This is the part I am also confused on. To run it in this mode I do <code>val conf = new SparkConf().setMaster("local[2]")</code>. </p>

<p>In this mode, it doesn't use any type of resource manager (like YARN) correct? Like it simply just runs the Spark Job in the number of threads which you provide to <code>"local[2]"\</code>?</p>