Courseiva
Data Ingestion and TransformationeasyMultiple ChoiceObjective-mapped

DEA-C01 Data Ingestion and Transformation Practice Question

A data engineer is setting up a data pipeline to ingest data from an Amazon RDS for MySQL database into Amazon S3 using AWS Glue ETL. The Glue job uses a JDBC connection to read from the MySQL database. The job runs successfully, but the engineer notices that the job is taking longer than expected. The MySQL database is 500 GB in size and the Glue job uses 10 workers of type G.1X. The engineer wants to improve the performance of the extraction phase. The database is actively used by other applications, so the engineer must minimize the impact on the source database. Which approach should the engineer take?

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

Partition the table by a numeric column, such as the primary key, and use the 'hashex' or 'hashpar' partitioning option in the Glue JDBC connection.

Partitioning the table on a key column (e.g., primary key) allows Glue to read in parallel from multiple partitions, reducing the load on the database and improving performance. Option B is wrong because incremental extraction is for ongoing changes, not for an initial full load; it doesn't address the immediate performance issue of extracting 500 GB. Option C is wrong because using a read replica offloads read traffic but does not inherently improve parallelism; partitioning is still needed for performance. Option D is wrong because simply increasing the number of workers may overwhelm the database with more simultaneous connections without partitioning, potentially causing performance degradation.

Answer analysis

Option-by-option breakdown

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

  • Partition the table by a numeric column, such as the primary key, and use the 'hashex' or 'hashpar' partitioning option in the Glue JDBC connection.

    Why this is correct

    Partitioning the table by a numeric column (e.g., primary key) and using the 'hashex' or 'hashpar' partitioning option in the Glue JDBC connection enables parallel reads across multiple workers, reducing the load on the MySQL database and improving extraction performance.

  • Use an incremental extraction strategy with a watermark column to reduce the amount of data read each time.

    Why it's wrong here

    Using an incremental extraction strategy with a watermark column is effective for ongoing changes but not for the initial bulk extraction; it does not directly improve parallelism during the full load.

  • Create a read replica of the MySQL database and configure the Glue job to read from the replica.

    Why it's wrong here

    Creating a read replica shifts read traffic away from the primary database but does not inherently improve the parallelism of the Glue job; partitioning is still required for efficient parallel extraction.

  • Increase the number of Glue workers to 20 to increase parallelism.

    Why it's wrong here

    Increasing the number of Glue workers to 20 adds parallelism but without partitioning, the database may be overwhelmed by multiple connections reading the same full table, potentially causing performance issues.

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,711 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

Same concept, more angles

3 more ways this is tested on DEA-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 data engineer is using AWS Glue ETL to transform data from an S3 data lake. The job fails with a memory error. Which approach should be used to resolve this issue without major code changes?

medium
  • A.Rewrite the ETL script in PySpark instead of Scala
  • B.Change the input file format from CSV to Parquet
  • C.Increase the number of DPUs allocated to the Glue job
  • D.Use Amazon EMR instead of AWS Glue

Why C: Increasing the number of DPUs (Data Processing Units) allocated to the Glue job provides more memory and parallelism. Option A is wrong because rewriting in PySpark is a major code change. Option B is wrong because using a smaller file format may not address memory issues. Option D is wrong because using a different service is unnecessary.

Variation 2. A data engineer needs to transform data in an S3 data lake using AWS Glue ETL. The data is in CSV format and needs to be converted to Parquet with partitioning by date. The engineer wants to minimize the number of files written to S3 to improve query performance. Which TWO configuration options should the engineer use? (Select TWO.)

easy
  • A.Increase the number of workers in the Glue job to increase parallelism.
  • B.Use the coalesce method to reduce the number of output partitions.
  • C.Disable compression in the Parquet output.
  • D.Enable partition pruning in the Glue job by setting the 'partitionKeys' parameter.
  • E.Set the 'groupFiles' option to 'inPartition' in the DynamicFrame writer.

Why B: Using `coalesce` reduces the number of output partitions, which directly minimizes the number of files written to S3. Fewer, larger Parquet files improve query performance by reducing the overhead of file listing and metadata operations in engines like Amazon Athena or Redshift Spectrum.

Variation 3. A data pipeline uses AWS Glue to process data from an S3 data lake. The pipeline fails intermittently with a 'ThrottlingException' when writing to a DynamoDB table. What is the MOST likely cause?

easy
  • A.The DynamoDB table's write capacity is insufficient for the workload.
  • B.The network connection between Glue and DynamoDB is unstable.
  • C.The Glue job's timeout setting is too low.
  • D.The Glue job does not have sufficient IAM permissions to write to DynamoDB.

Why A: A ThrottlingException from DynamoDB indicates that the request rate to the table has exceeded the provisioned write capacity. AWS Glue jobs can generate high-throughput writes, and if the DynamoDB table's write capacity units (WCUs) are not sufficient to handle the burst, DynamoDB will throttle the requests. This is the most direct cause of the intermittent failure described.

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

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.