AWS Glue ETL Performance: JDBC Pushdown and DPU Scaling
A company uses AWS Glue ETL jobs to process data from an Amazon RDS for MySQL database into Amazon S3. The job runs daily and takes 6 hours to complete. The team wants to reduce runtime and cost. The source table has 50 million rows and is updated continuously. Which combination of changes would be MOST effective?
Quick Answer
Reducing both runtime and cost on a slow Glue job usually means attacking two separate things: how much data has to move across the network, and how much parallel compute is available to process it. Pushdown predicates let the JDBC connection filter rows at the source MySQL database itself, before the data is ever pulled into Glue, so instead of transferring the full 50-million-row table and filtering afterward, only the relevant subset crosses the network, which directly cuts the data volume the job has to handle on every run. Increasing the number of DPUs (data processing units) adds more parallel compute capacity to the Glue job, which lets it process the filtered data faster once it's in hand. These two changes are complementary rather than redundant: pushdown predicates shrink the problem before it reaches Glue, and more DPUs speed up the processing of whatever remains, so applying both compounds the runtime improvement rather than each working in isolation. This combination is especially relevant for a continuously updated source table, since filtering at the source avoids reprocessing rows that haven't changed, which a purely compute-focused fix like adding DPUs alone wouldn't achieve. Whenever a Glue performance question involves a JDBC source and both cost and runtime need to improve, look for an answer that combines filtering data as early as possible with adding compute parallelism, rather than relying on just one of the two.
⚠ Common exam trap
Watch out — candidates often assume simply adding more compute (DPUs) or using job bookmarking will solve performance issues, without realizing that the primary bottleneck is data transfer from the source database, which requires predicate pushdown to reduce the data volume.
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 JDBC connections with pushdown predicates and increase the number of DPUs.
Using JDBC pushdown predicates filters data at the source database, reducing the volume of data transferred over the network and processed by Glue. Increasing the number of DPUs (data processing units) adds parallelism, which directly reduces runtime. Together, these changes minimize both execution time and cost by optimizing data movement and compute resources.
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 a single worker with a larger instance type.
Why it's wrong here
A single worker cannot scale horizontally to handle large data volumes.
- ✗
Increase the number of DPUs and enable job bookmarking.
Why it's wrong here
Job bookmarking helps with incremental processing but doesn't reduce initial full load.
- ✓
Use JDBC connections with pushdown predicates and increase the number of DPUs.
Why this is correct
Pushdown predicates filter data at source, reducing data transfer; more DPUs parallelize the work.
- ✗
Change the job trigger from time-based to event-based.
Why it's wrong here
Trigger type does not affect job runtime.
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
One of 1,672 original MLS-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 →
Same concept, more angles
1 more way this is tested on MLS-C01
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A company is using AWS Glue ETL jobs to process data stored in Amazon S3. The jobs currently run sequentially and take too long. The data engineer wants to reduce job duration without rewriting the code. Which action is most effective?
medium- A.Change the underlying EC2 instance type to a compute-optimized instance
- ✓ B.Increase the number of DPUs (Data Processing Units) for the job
- C.Convert the data from CSV to Parquet format
- D.Enable job bookmarks to skip already processed data
Why B: Increasing the number of DPUs (Data Processing Units) for the AWS Glue ETL job directly allocates more distributed computing resources, enabling parallel execution of the job's stages. This reduces the overall runtime without requiring any code changes, as Glue automatically distributes the workload across the additional DPUs.
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.