Bird
Raised Fist0
Apache Sparkdata~20 mins

Spark architecture (driver, executors, cluster manager) in Apache Spark - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Spark Architecture Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Role of the Driver in Spark Architecture

What is the main responsibility of the Driver in a Spark application?

AIt manages the cluster resources and allocates executors to applications.
BIt coordinates the execution by maintaining the SparkContext and scheduling tasks.
CIt executes the tasks on worker nodes and processes data partitions.
DIt stores the data permanently in the distributed file system.
Attempts:
2 left
💡 Hint

Think about which component controls the flow and task scheduling in Spark.

🧠 Conceptual
intermediate
2:00remaining
Function of Executors in Spark

Which of the following best describes the role of Executors in Spark?

AThey run tasks and store data for the application during execution.
BThey monitor the health of the Spark driver.
CThey submit Spark jobs to the cluster manager.
DThey allocate resources and manage the cluster nodes.
Attempts:
2 left
💡 Hint

Executors are like workers that do the actual data processing.

🧠 Conceptual
advanced
2:00remaining
Cluster Manager's Role in Spark

What is the primary role of the Cluster Manager in Spark?

AIt manages the allocation of resources across multiple Spark applications.
BIt executes the Spark driver program on the client machine.
CIt schedules tasks within executors and manages data shuffling.
DIt stores the Spark application logs and metrics.
Attempts:
2 left
💡 Hint

Think about who controls resource distribution for all applications running on the cluster.

❓ data_output
advanced
2:00remaining
Output of Spark Executor Task Count

Consider a Spark application with 3 executors, each running 4 cores. If the application runs a job with 12 tasks, how many tasks will each executor run assuming tasks are evenly distributed?

Apache Spark
executors = 3
cores_per_executor = 4
tasks = 12

# Calculate tasks per executor assuming even distribution
tasks_per_executor = tasks // executors
print(tasks_per_executor)
A7
B3
C12
D4
Attempts:
2 left
💡 Hint

Divide total tasks by number of executors for even distribution.

🧠 Conceptual
expert
2:00remaining
Impact of Driver Failure in Spark Cluster

What happens if the Driver fails during a Spark job execution in a cluster mode?

AThe cluster manager automatically restarts the driver and resumes the job from the last checkpoint.
BThe executors continue running and complete the job without interruption.
CThe entire Spark application fails and all executors stop processing tasks.
DThe driver failure only affects logging but the job continues running.
Attempts:
2 left
💡 Hint

Consider the driver's role in task scheduling and coordination.

Practice

(1/5)
1. Which component in Spark is responsible for planning the tasks and controlling the job execution?
easy
A. Task Scheduler
B. Executor
C. Cluster Manager
D. Driver

Solution

  1. Step 1: Understand the role of the Driver

    The Driver is the main program that creates the SparkContext and plans the tasks to run.
  2. Step 2: Compare with other components

    Executors run the tasks, and the Cluster Manager manages resources, but only the Driver plans and controls the job.
  3. Final Answer:

    Driver -> Option D
  4. Quick Check:

    Driver = plans tasks [OK]
Hint: Driver plans tasks; executors run them [OK]
Common Mistakes:
  • Confusing executors with driver
  • Thinking cluster manager plans tasks
  • Mixing driver with resource manager
2. Which of the following is the correct way to describe the role of executors in Spark?
easy
A. They manage cluster resources and allocate executors
B. They plan the job and schedule tasks
C. They run tasks and store data for the application
D. They submit jobs to the cluster manager

Solution

  1. Step 1: Identify executor responsibilities

    Executors run the tasks assigned by the driver and store data in memory or disk during processing.
  2. Step 2: Eliminate other options

    Cluster manager manages resources, driver plans jobs, and job submission is done by the driver, not executors.
  3. Final Answer:

    They run tasks and store data for the application -> Option C
  4. Quick Check:

    Executors = run tasks + store data [OK]
Hint: Executors run tasks and keep data [OK]
Common Mistakes:
  • Confusing executors with cluster manager
  • Thinking executors plan jobs
  • Mixing driver and executor roles
3. Consider a Spark application running on a cluster. Which component is responsible for requesting resources from the cluster manager?
medium
A. Driver
B. Executor
C. Cluster Manager
D. Task Scheduler

Solution

  1. Step 1: Understand resource request flow

    The Driver requests resources (executors) from the Cluster Manager to run tasks.
  2. Step 2: Clarify roles of other components

    Executors run tasks, Cluster Manager allocates resources, but Driver initiates the request.
  3. Final Answer:

    Driver -> Option A
  4. Quick Check:

    Driver requests resources [OK]
Hint: Driver asks cluster manager for executors [OK]
Common Mistakes:
  • Thinking executors request resources
  • Confusing cluster manager with driver
  • Assuming task scheduler requests resources
4. You see a Spark application failing because no executors are allocated. Which component should you check first to fix this issue?
medium
A. Cluster Manager configuration
B. Executor logs
C. Driver program code
D. Task Scheduler settings

Solution

  1. Step 1: Identify the cause of no executors

    No executors means the cluster manager did not allocate resources.
  2. Step 2: Check cluster manager setup

    Cluster Manager manages resource allocation; misconfiguration here can block executors.
  3. Final Answer:

    Cluster Manager configuration -> Option A
  4. Quick Check:

    Cluster Manager controls executors allocation [OK]
Hint: Check cluster manager if no executors start [OK]
Common Mistakes:
  • Checking driver code first instead of cluster manager
  • Looking at executor logs when none exist
  • Confusing task scheduler with resource manager
5. In a Spark cluster, if the driver fails but executors continue running, what is the expected behavior and why?
hard
A. Executors keep running tasks independently without driver
B. Executors stop working because driver controls task scheduling
C. Cluster manager automatically restarts executors without driver
D. Driver failure does not affect executors as they are independent

Solution

  1. Step 1: Understand driver role in task scheduling

    The driver plans and schedules tasks; executors depend on it for instructions.
  2. Step 2: Analyze executor behavior on driver failure

    Without the driver, executors cannot receive new tasks and will stop processing.
  3. Final Answer:

    Executors stop working because driver controls task scheduling -> Option B
  4. Quick Check:

    Driver failure stops executors [OK]
Hint: Executors need driver to schedule tasks [OK]
Common Mistakes:
  • Assuming executors run independently
  • Thinking cluster manager restarts executors automatically
  • Believing driver failure has no impact
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard