DEA-C01 Spark memory tuning Practice Question
A company is using Amazon EMR to run Spark jobs. The jobs are failing due to memory issues. Which THREE configurations can help mitigate out-of-memory errors?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Tune Spark memory configurations like spark.executor.memory and spark.memory.fraction.
The correct options are C, D, and E. Tuning Spark memory configurations (C) such as spark.executor.memory and spark.memory.fraction directly controls memory allocation within executors. Increasing the instance type to one with more memory per node (D) provides additional physical memory for Spark workloads. Enabling Spark dynamic allocation (E) allows the cluster to automatically adjust the number of executors based on workload, which helps prevent memory pressure from over-allocation. Option A is incorrect because instance store volumes are used for temporary data storage (e.g., shuffle spills) but do not address memory constraints; they may help with disk I/O but not OOM errors. Option B is incorrect because increasing vCPUs increases parallelism, which can actually worsen memory contention if each task consumes significant memory, potentially leading to more OOM errors.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Configure instance store volumes for intermediate shuffle data.
Why it's wrong here
Incorrect. Instance store volumes provide temporary block storage, not memory. Shuffle data can be spilled to disk, but this does not mitigate out-of-memory errors; it may even increase I/O and slow down jobs.
- ✗
Use instances with more vCPUs to process more tasks in parallel.
Why it's wrong here
Incorrect. Increasing vCPUs increases parallelism, which can lead to higher memory consumption per node, potentially worsening out-of-memory errors unless memory is also scaled accordingly.
- ✓
Tune Spark memory configurations like spark.executor.memory and spark.memory.fraction.
Why this is correct
Correct. Tuning parameters like spark.executor.memory and spark.memory.fraction controls how much JVM heap and unified memory are available for execution and storage, directly mitigating OOM errors.
- ✓
Increase the instance type to one with more memory per node.
Why this is correct
Correct. Using instances with larger memory sizes increases the total available memory per node, reducing the chance of OOM errors for memory-intensive operations.
- ✓
Enable Spark dynamic allocation to adjust executors based on workload.
Why this is correct
Correct. Spark dynamic allocation allows executors to be added or removed based on workload, which can prevent resource exhaustion by scaling down when demand is low and scaling up when needed.
Go deeper
Related to this question
About these practice questions
Courseiva writes every DEA-C01 question from scratch — 1,711 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DEA-C01 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DEA-C01 exam.