Courseiva
Data EngineeringhardMultiple SelectObjective-mapped

Top 3 Techniques to Optimize AWS Glue ETL Performance

A company uses AWS Glue to run ETL jobs on a daily basis. The jobs read from Amazon RDS and write to Amazon S3. The data volume has grown, and the jobs are taking longer to complete. The team wants to optimize the jobs for cost and performance. Which combination of techniques should the team implement? (Choose THREE.)

Quick Answer

This is a 'choose three' question where the correct techniques each attack a different source of wasted time or cost in the Glue job, and recognizing which lever affects which stage of the pipeline is the real skill being tested. Pushdown predicates filter data at the JDBC source itself, before it's transferred to Glue, which reduces the volume of data pulled across the network on every run, a direct win when the source table is large and continuously growing. Job bookmarks let Glue track which data has already been processed across runs, so subsequent executions only read and transform new or changed data instead of reprocessing the entire table from scratch, which is especially valuable for a daily job against a continuously updated 50-million-row source. Using a larger worker type gives each unit of compute more memory and CPU, which speeds up the actual transformation work once the already filtered and incremental data has arrived. Together these three cover data reduction at the source, data reduction across runs, and faster processing of whatever data remains, three independent savings that compound rather than overlap. The rejected options make sense to rule out for the same reason: repartitioning the S3 output doesn't change how fast the current job itself runs, and blindly raising the maximum DPU ceiling increases cost roughly in proportion without necessarily fixing the underlying inefficiency the way targeted filtering and incremental processing do. When a Glue performance question asks for multiple improvements, look for one change that reduces data at the source, one that avoids reprocessing unchanged data, and one that adds compute power to what remains.

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 a larger Glue worker type, such as G.2X, for more memory per worker.

(larger worker type) provides more memory and CPU per worker, improving performance for heavy workloads. Option B (job bookmarks) enables incremental processing, reducing the amount of data read on subsequent runs. Option E (pushdown predicates) filters data at the source in the JDBC connection, reducing data transferred across the network. Option C is incorrect because increasing partitions in the output S3 data does not affect the processing speed of the current job. Option D is incorrect because increasing the maximum number of DPUs increases cost linearly and may not be as effective as using larger workers or other optimizations.

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 larger Glue worker type, such as G.2X, for more memory per worker.

    Why this is correct

    Larger workers provide more resources per task, improving performance.

  • Enable job bookmarks to process only new data since the last run.

    Why this is correct

    Job bookmarks allow incremental processing, reducing the data volume.

  • Increase the number of partitions in the output S3 data to improve parallelism.

    Why it's wrong here

    Output partitions do not affect the job's processing time.

  • Increase the maximum number of DPUs for the job to 100.

    Why it's wrong here

    Increasing DPUs increases cost and may not improve performance if the bottleneck is memory.

  • Use pushdown predicates in the JDBC connection to filter data at the source.

    Why this is correct

    Pushdown predicates reduce the amount of data read from the database.

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

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 →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

2 more ways 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 runs a daily batch ETL job using AWS Glue that reads from Amazon RDS (MySQL), transforms the data, and writes to Amazon Redshift. The job takes 6 hours and processes 500 GB of data. Management wants to reduce the runtime. Which action would be MOST effective?

medium
  • A.Increase the node size of the Redshift cluster
  • B.Use the Redshift COPY command to load data directly from RDS
  • C.Use Amazon RDS with Provisioned IOPS SSD storage
  • D.Increase the number of DPUs allocated to the Glue job

Why D: Increasing the number of DPUs (Data Processing Units) allocated to the AWS Glue job directly increases the parallelism of the Spark-based ETL job, allowing it to process the 500 GB of data faster. Since the bottleneck is the Glue job's compute capacity, adding more DPUs reduces runtime without changing the source or target infrastructure.

Variation 2. A company runs a nightly batch job that reads data from Amazon RDS for PostgreSQL, transforms it using AWS Glue, and writes the output to Amazon S3 in Parquet format. The job takes 2 hours to complete, but the data volume has grown, and the job now takes 4 hours, exceeding the allowed window. The team needs to reduce the job duration without increasing cost. Which action is MOST effective?

medium
  • A.Increase the number of Glue DPUs (Data Processing Units) allocated to the job.
  • B.Enable AWS Glue job bookmark to skip already processed data.
  • C.Change the output format from Parquet to CSV to reduce write time.
  • D.Partition the output S3 data by a high-cardinality column used in filtering during transformation.

Why D: Increasing DPUs would increase cost, which violates the requirement to not increase cost. Option B is incorrect because job bookmarks are designed for incremental processing, but the job runs a full batch load nightly, so bookmarks do not skip data in a full load. Option C is incorrect because converting from Parquet to CSV increases file size and write time, likely lengthening the job. Option D is correct: partitioning the output by a high-cardinality column used in filtering during transformation can reduce write time by enabling parallel writes and can improve downstream query performance, but more importantly it may allow the transformation to leverage partition pruning if the job reads the output back or if the transformation logic can use the partition column to reduce data shuffling. However, the primary benefit is that it optimizes storage and retrieval without additional cost, making it the best choice among the options.

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.