Spark's architecture is based on a master-slave relationship, where all of the APIs interact only with the master in order to establish a connection the cluster. Once the connection is established, the application talks (through the Spark context) directly to the slaves (known as workers in the Spark architecture). Once the connection with the cluster is established, a Spark context is allocated and it becomes the master of the Spark application. Then, the master manages te amount of resources allocated for the tasks to the slaves, and acknowledges clients accordingly. There are two modes of deployment:
- Local mode: This is the simplest of all deployments as it's similar to pseudo-cluster mode where master and workers run on ...