When you interact with Spark through PySpark, you send instructions to the Driver. The Driver coordinates all operations. The Driver can be communicated by a SparkContext object. This object coordinates the different calculations on the different clusters. The big advantage of Spark is that the code is completely independent of the SparkContext. So you can develop your code locally on any machine.