MLS-C01 Data Engineering Practice Question
A company wants to analyze historical data stored in Amazon S3 using Amazon Athena. The data is in CSV format and is partitioned by date. Which action will provide the best query performance and cost optimization?
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
✓
Convert the data to Parquet format and use the existing partition structure
Converting data to Parquet and partitioning provides the best performance and cost savings because Athena can use predicate pushdown and column pruning, scanning less data. Option A (using Glue to gzip compress) still uses CSV which requires full scan. Option B (S3 event notification to warm up Athena) is not relevant because Athena caches results but doesn't need warming. Option C (only partitioning) helps but CSV is still row-based and less efficient than Parquet.
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 Glue to compress the CSV files with gzip
Why it's wrong here
While gzip compression reduces file size and lowers Athena’s scan costs, it prevents Athena from using predicate pushdown on the date-partitioned CSV data, because gzip is a non-splittable compression format. This forces Athena to read entire compressed objects even when only specific partitions are queried, degrading performance. The option is tempting because compressing CSV files with gzip is a common, cost-effective optimisation for reducing storage and data-scan volume in Athena—it would be correct if the data were not partitioned or if a splittable format like Parquet or Snappy were used instead.
- ✗
Create an S3 event notification to trigger a Lambda function that warms up Athena
Why it's wrong here
Athena does not have a warm-up mechanism; this is unnecessary.
- ✗
Keep CSV format but ensure partitions are in the format year=YYYY/month=MM/day=DD
Why it's wrong here
Partitioning helps but CSV is row-based and less efficient than Parquet.
- ✓
Convert the data to Parquet format and use the existing partition structure
Why this is correct
Parquet is columnar and compressed, reducing scanned data and improving performance.
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
This MLS-C01 question is part of Courseiva's 1,672-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam 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.