AWS Certified Data Engineer - Associate (DEA-C01) practice questions

8 sample questions from our 300-question Data Engineer bank, one from each official domain. The answer and a full explanation sit under each one. Every question is original, written against the published exam objectives, and quality-checked before it reaches you.

DEA-C01AssociateIntermediate

Question 1 · Data Ingestion and Transformation

Willowbrook Freight streams truck telemetry into a Kinesis data stream with 8 shards, using the tractor unit's depot code as the partition key. Three of the depots generate roughly 70 percent of all events, and the writing application receives frequent ProvisionedThroughputExceededException errors even though total stream ingest is far below the aggregate 8 MB/s limit. What change should the data engineer make first?

  1. A.Change the partition key to a higher-cardinality value, such as the vehicle ID with a random suffix
  2. B.Switch the stream to extended data retention so throttled records can be replayed from an earlier point
  3. C.Increase the producer's retry count and add exponential backoff so throttled records eventually succeed
  4. D.Move the consumer applications to enhanced fan-out so each consumer receives its own read throughput
Show answer & explanation

Answer: A

Throttling on a stream that is well under its aggregate limit is the signature of a hot shard: the depot code maps a disproportionate share of records onto a few shards. Spreading writes across a higher-cardinality partition key rebalances traffic across all 8 shards. Enhanced fan-out only affects read-side throughput and does nothing about write throttling.

Question 2 · Data Store Management

Aldersgate Publishing stores 80 TB of archived manuscript scans in S3 Standard. Access is genuinely unpredictable: a title may be untouched for two years and then read daily for a month when a film adaptation is announced. Retrieval must stay immediate, and the team does not want to build access-pattern tooling. Which storage approach fits best?

  1. A.A lifecycle rule to S3 Standard-IA at 30 days combined with a custom access-tracking Lambda
  2. B.A lifecycle rule transitioning objects to S3 Glacier Deep Archive after 90 days of age
  3. C.S3 One Zone-Infrequent Access, accepting single-AZ durability in exchange for a lower rate
  4. D.S3 Intelligent-Tiering, which moves objects between access tiers based on observed usage
Show answer & explanation

Answer: D

S3 Intelligent-Tiering automatically shifts objects between frequent and infrequent access tiers based on real access patterns with no retrieval fees and millisecond access, which suits genuinely unpredictable usage. Glacier Deep Archive is far cheaper but retrieval takes hours, breaking the immediate-access requirement.

Question 3 · Data Operations and Support

The on-call team at Larkspur Payments wants to be paged when a Kinesis-based pipeline falls behind, defined as consumers being more than 15 minutes behind the tip of the stream. Which CloudWatch alarm most directly encodes that condition?

  1. A.An alarm on the consumer Lambda's Duration metric exceeding its p99 baseline by 50 percent
  2. B.An alarm on GetRecords.IteratorAgeMilliseconds exceeding 900000 for two consecutive periods
  3. C.An alarm on IncomingRecords dropping below the seven-day average for the same hour
  4. D.An alarm on WriteProvisionedThroughputExceeded exceeding zero for two consecutive periods
Show answer & explanation

Answer: B

Iterator age measures how old the last processed record is relative to the stream tip, so a threshold of 900,000 milliseconds is a literal expression of being 15 minutes behind. Write throughput exceptions signal producer-side throttling and can be zero while consumers are badly backlogged.

Question 4 · Data Security and Governance

Wexley Health governs a lake with 300 tables across marketing, clinical, and finance domains. New analysts should receive access by data classification rather than by naming individual tables, and classifications change as tables are reclassified. Which Lake Formation approach scales best?

  1. A.Create one Lake Formation database per classification and physically copy tables into the matching database
  2. B.Grant named-resource permissions on each table and re-run a script whenever a classification changes
  3. C.Define LF-Tags such as classification and domain, attach them to resources, and grant permissions on tag expressions
  4. D.Create one IAM role per table with an inline policy listing the table's S3 prefix and catalog ARN
Show answer & explanation

Answer: C

Tag-based access control decouples grants from resource names: principals are authorized against tag expressions, so retagging a table immediately changes who can see it without touching any grant. Per-table named grants require a maintenance pass on every classification change and do not scale to 300 tables.

Question 5 · Data Ingestion and Transformation

A nightly AWS Glue Spark job at Corvid Analytics reads a growing S3 prefix of order files and writes them to a curated zone. Each run currently reprocesses every file ever landed, so runtime has grown from 6 minutes to 90 minutes over the year. The team wants each run to process only files that arrived since the previous successful run, without maintaining its own state table.

  1. A.Set the job's worker type to G.2X and raise the number of workers to shorten the scan
  2. B.Configure the job to run on a shorter schedule so each execution handles a smaller batch
  3. C.Add a Glue crawler that runs before the job so the catalog reflects only new partitions
  4. D.Enable job bookmarks on the Glue job so it tracks previously processed S3 objects between runs
Show answer & explanation

Answer: D

Glue job bookmarks persist processing state between runs and cause the job to skip S3 objects already handled by a prior successful run, which is exactly the built-in incremental mechanism requested. Adding workers scales the cluster but still reads the full history every night, so the cost problem grows with the data.

Question 6 · Data Store Management

In a Redshift warehouse at Pemberly Outfitters, a 4 billion row `fact_sales` table is joined to a 900 row `dim_channel` table in nearly every dashboard query. Query plans show a large DS_BCAST_INNER step and high network cost. Which distribution setup addresses this?

  1. A.Set fact_sales to DISTSTYLE ALL and dim_channel to DISTSTYLE KEY on channel_id
  2. B.Set both tables to DISTSTYLE EVEN so rows spread uniformly across all slices
  3. C.Set both tables to DISTSTYLE KEY on channel_id so matching rows share a slice
  4. D.Set dim_channel to DISTSTYLE ALL and keep fact_sales distributed on a high-cardinality key
Show answer & explanation

Answer: D

Replicating the tiny dimension to every node with DISTSTYLE ALL lets each slice join locally against its share of the fact table, removing the broadcast step. Applying DISTSTYLE ALL to a 4 billion row fact table would multiply its storage across every node and is not viable.

Question 7 · Data Operations and Support

A critical Glue job at Wrenfield Chemicals occasionally fails when a shared JDBC source is briefly unavailable. The team wants the job retried automatically a couple of times, and if it still fails, a message posted to an SNS topic that pages the on-call engineer. Which configuration achieves this with managed services?

  1. A.Set maximum retries to 2 and add an EventBridge rule on Glue FAILED job state change targeting the SNS topic
  2. B.Enable continuous logging on the job and create a CloudWatch Logs metric filter on the word Exception
  3. C.Schedule a second Glue job 30 minutes later that checks the first job's run status and notifies on failure
  4. D.Wrap each JDBC read in a Python try/except loop inside the job script and call SNS Publish in the handler
Show answer & explanation

Answer: A

Glue's built-in retry setting reruns the job on transient failure, and Glue emits job state change events to EventBridge so a rule can notify SNS only after retries are exhausted. A metric filter on log text would fire on handled exceptions too and gives no signal about whether the run ultimately failed.

Question 8 · Data Security and Governance

A Glue job in the analytics account at Fernhollow Group must read objects from an S3 bucket owned by the ingestion account. The bucket is encrypted with SSE-S3 and the analytics account owns the Glue job role. Which configuration grants the required cross-account read?

  1. A.An S3 Access Grants instance in the analytics account mapped to the ingestion bucket prefix
  2. B.An IAM policy on the Glue role in the analytics account allowing s3:GetObject on the bucket ARN
  3. C.A bucket policy in the ingestion account allowing the analytics account root principal, with no role-side policy needed
  4. D.A bucket policy allowing the analytics Glue role, plus an IAM policy on that role allowing the reads
Show answer & explanation

Answer: D

Cross-account S3 access requires an allow from both sides: the resource policy on the bucket in the owning account and an identity policy on the calling role in its own account. A role-side policy alone is insufficient because the bucket owner has not granted the external principal any access.

292+ more questions, free

Full-length, in timed or practice mode, and weighted to the official blueprint. Per-domain scoring shows you exactly where you stand.

Start the full practice exam →

All questions are original, never reproduced from the real exam, and pass automated duplicate, citation and item-writing checks before publication. See how our exams are made.

Kwizza is an independent study tool and is not affiliated with, endorsed by, or sponsored by Amazon Web Services. Amazon Web Services names, logos and certification marks are the property of their respective owners and are used here only to identify the exam described. Practice questions are original, written against the publicly published exam objectives. No real exam content is reproduced.