Courseiva

DEA-C01 Data Ingestion and Transformation Practice Question

A data pipeline uses AWS Glue to read from an Amazon S3 bucket containing millions of small CSV files (each < 1 MB). The ETL job is slow. Which optimization would most improve performance?

⚠ Common exam trap

DEA-C01 often tests the instinct to 'add more workers' for any slow Glue job — candidates miss that small-file overhead is an I/O/metadata problem that horizontal scaling cannot fix.

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 S3 file grouping to combine small files

AWS Glue (and Spark generally) performs poorly with millions of tiny files because each file requires a separate S3 GET request, metadata operation, and task scheduling overhead. S3 file grouping (via 'groupFiles' and 'groupSize' job parameters) coalesces multiple small files into a single read per Spark partition, drastically reducing the number of S3 operations and task overhead. This directly addresses the root cause of the slowness.

Answer analysis

Option-by-option breakdown

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

  • ✗

    Write the ETL script using PySpark instead of Scala

    Why it's wrong here

    PySpark and Scala both run on the same Spark engine and incur identical per-file overhead when reading millions of small objects. The bottleneck is object count, not language. Rewriting in PySpark suits teams needing Python libraries, not small-file ingestion.

  • ✗

    Increase the number of Glue workers

    Why it's wrong here

    Adding workers parallelises listing and reading, but each worker still opens files individually, so per-object request overhead scales with worker count rather than disappearing. Scaling workers suits genuinely large single files or heavy partitions, not millions of sub-1 MB objects.

  • ✗

    Use the G.1X worker type for more memory

    Why it's wrong here

    More memory does not address the per-file overhead of opening millions of tiny objects; Glue still issues one request per file, so G.1X workers sit idle between reads. Larger workers suit memory-intensive shuffles or skewed joins, not small-file listing and open costs.

  • ✓

    Use S3 file grouping to combine small files

    Why this is correct

    Glue's S3 file grouping (groupFiles) coalesces many small objects into larger partitions per task, cutting per-file listing, opening and request overhead. Millions of sub-1 MB CSVs otherwise dominate runtime, so grouping directly addresses the small-file constraint.

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,321 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 and reviewed by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

Last reviewed September 2026 · checked against the official Amazon Web Services exam blueprint

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.