Optimize EMR Costs for CPU-Bound Spark Jobs
Short answer
C Switch the task node type from general purpose EC2 instances to compute optimized EC2 instances to lower costs for the CPU-bound ETL job.
Question
Key Takeaways
The scenario tests the ability to match workload characteristics (CPU-bound vs memory-bound) with specific EC2 instance types to reduce costs without sacrificing performance.
This question addresses cost optimization for Amazon EMR clusters running Apache Spark by identifying the appropriate EC2 instance family based on resource utilization metrics.
Common mistake: Learners often select memory-optimized instances because Spark is memory-intensive, failing to notice that current memory usage is low while CPU is maxed out.
Expert Analysis
Why the Answer Is Correct
The problem states that CPU usage is at maximum while memory usage remains under 30%. This indicates a CPU-bound workload rather than a memory-bound one. Switching to compute-optimized instances (like C5 or C6g) provides more vCPUs per dollar compared to general-purpose instances, directly addressing the bottleneck and reducing cost.
Why the Other Options Are Wrong
Increasing the node count (A) would increase costs and doesn't address the inefficiency of using expensive general-purpose nodes for a CPU-heavy task. Memory-optimized instances (B) are unnecessary since memory is already underutilized. Reducing the cooldown period (D) affects scaling speed, not the unit cost or efficiency of the instances themselves.
Community Comment Notes
Community members correctly identified that high CPU and low memory signal a need for compute power. As antun3ra noted, 'current situation shows that the EMR cluster is reaching maximum CPU usage, but memory usage remains low.' Others emphasized that compute-optimized instances offer better value per CPU core for such workloads.
Exam Strategy
Always analyze the 'bottleneck' first. If a resource is maxed out, that is your constraint. If another resource is low, you can likely downsize or switch families to save money. For Spark, check if it's CPU-bound (use Compute Optimized) or Memory-bound (use Memory Optimized).
Frequently Asked Questions
Why not use memory-optimized instances for Spark?
Does increasing nodes help with CPU bottlenecks?
Community Votes
100% of anonymous learners picked answer C. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 3 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 3
-
Shanmahi 👍 4 Answered CSince the ETL job reaches maximum CPU usage but not memory usage, switching from general-purpose instances to compute-optimized instances (such as C5 or C6g instances) can provide better performance per dollar for CPU-bound workloads.
-
antun3ra 👍 4 Answered Ccurrent situation shows that the EMR cluster is reaching maximum CPU usage, but memory usage remains low (under 30%). This indicates that the workload is CPU-bound rather than memory-bound.
-
AgboolaKun 👍 1 Answered CC is the correct answer. Here is why: Compute optimized Amazon EC2 instances are less expensive per CPU core than general purpose instances, making them the better choice for workloads that require high processing power, as they prioritize CPU cores over memory, resulting in a lower cost per vCPU compared to general purpose instances.
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All DEA-C01 Questions
Access 100 questions with complete answers and detailed explanations.
View Full DEA-C01 Practice Test →