Courseiva
Data Operations and SupportmediumMultiple ChoiceObjective-mapped

DEA-C01 Data Operations and Support Practice Question

A data engineer is troubleshooting a nightly ETL job that reads data from an RDS MySQL instance and writes to an S3 bucket in Parquet format. The job runs on an EMR cluster and uses PySpark. Recently, the job started failing with 'OutOfMemoryError' in the executor logs. The data volume has grown 30% in the last month. Which is the MOST efficient solution to resolve this issue without changing the code?

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

Increase the executor memory and memoryOverhead in the Spark configuration.

The OutOfMemoryError in executors indicates insufficient memory per executor to handle the increased data volume. Increasing 'spark.executor.memory' and 'spark.executor.memoryOverhead' directly addresses this by providing more heap and off-heap memory without any code changes. Option A is wrong because the RDS instance size does not affect executor memory; the bottleneck is in Spark processing. Option B is wrong because switching to AWS Glue would require code changes and may still need memory tuning, making it less efficient. Option D is wrong because adding core nodes increases parallelism but does not increase memory per executor, so the OOM could still occur.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Change the RDS instance to a larger size to reduce load.

    Why it's wrong here

    The OutOfMemoryError occurs in Spark executors, not at the RDS source; increasing RDS size does not address the memory issue in Spark.

  • Switch the ETL job to use AWS Glue with a larger WorkerType.

    Why it's wrong here

    Migrating to Glue requires code changes and may not resolve the memory issue if the root cause is insufficient Spark configuration.

  • Increase the executor memory and memoryOverhead in the Spark configuration.

    Why this is correct

    Increasing executor memory and memoryOverhead directly addresses the OutOfMemoryError by providing more heap and off-heap memory to executors.

  • Increase the number of core nodes in the EMR cluster.

    Why it's wrong here

    Adding more nodes increases parallelism but does not increase memory per executor, so the OutOfMemoryError may persist.

Visual reference

Client Recursive Resolver Root DNS (13 root servers) TLD DNS (.com, .org, …) Authoritative example.com query IP addr answer

Quick reference

AWS S3 Storage Class Comparison

Storage ClassMin DurationRetrievalUse Case
S3 StandardNoneImmediateFrequently accessed data
S3 Standard-IA30 daysImmediateInfrequent access, rapid retrieval
S3 One Zone-IA30 daysImmediateNon-critical infrequent data
S3 Intelligent-TieringNoneImmediate–hoursUnknown or changing access patterns
S3 Glacier Instant90 daysMillisecondsArchive with instant retrieval
S3 Glacier Flexible90 daysMinutes–hoursArchive, flexible retrieval
S3 Glacier Deep Archive180 daysHoursLong-term compliance archive

About these practice questions

One of 1,711 original DEA-C01 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

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.