MLS-C01 Data Engineering Practice Question
A data engineering team is designing a data pipeline to process large CSV files (10-50 GB each) stored in Amazon S3. The pipeline must transform the data using AWS Glue and load it into Amazon Redshift for analytics. The team wants to minimize costs while ensuring the pipeline can handle peak loads. Which approach is the most cost-effective?
⚠ Common exam trap
It's easy for candidates to choose AWS Lambda (Option A) for its low cost and simplicity, failing to recognize its strict execution limits (15-minute timeout, 10 GB memory) that make it impractical for multi-GB file processing, or they pick EMR (Option B) assuming it is always cheaper, ignoring the overhead of cluster management and idle costs.
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
✓
Use AWS Glue with Spark and dynamic frames, scaling the number of workers based on file size.
AWS Glue with Spark and dynamic frames is the most cost-effective approach because it is serverless, automatically scales workers based on file size, and is optimized for ETL on large CSV files (10-50 GB) in S3. Dynamic frames provide built-in transformations and schema inference, reducing development effort, while the ability to adjust the number of workers allows handling peak loads without over-provisioning. This minimizes idle compute costs compared to always-on clusters like EMR.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use AWS Lambda to process each file and load into Redshift.
Why it's wrong here
Incorrect: Lambda has a 15-minute timeout and 10 GB memory limit, insufficient for multi-GB files.
- ✗
Use Amazon EMR with Hive to transform the data and load into Redshift.
Why it's wrong here
Incorrect: EMR is more expensive than Glue for sporadic jobs, and Hive adds overhead.
- ✗
Use an AWS Glue Python shell job with a single r5.xlarge worker.
Why it's wrong here
Incorrect: Python shell is not suitable for large files; it uses minimal resources.
- ✓
Use AWS Glue with Spark and dynamic frames, scaling the number of workers based on file size.
Why this is correct
Correct: Glue Spark jobs handle large files efficiently; dynamic frames simplify schema handling.
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
About these practice questions
Courseiva writes every MLS-C01 question from scratch — 1,672 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 MLS-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 MLS-C01 exam.