AWS DEA-C01 · Updated 2026
Free AWS Data Engineer Associate Practice Exam (DEA-C01)
Full-length DEA-C01 mock exams with the same number of questions and time as the real exam. Ingestion, transformation, data stores, operations and governance scenarios, answers explained, and your score by domain.
1. Choose a set
2. Choose a mode
65 questions · 2 hours 10 min · same as the real exam
You have an unfinished attempt on this set.
Questions 1–10Page 1 of 7
🏆
Question 1Ingestion & Transformation
A news website streams article view events into Amazon Kinesis Data Streams. Traffic can jump tenfold within minutes when a story breaks, and the team does not want to forecast or manage shard counts. Which configuration BEST fits?
Correct answer: A. Use on-demand capacity mode for the data stream.
On-demand mode scales stream capacity automatically with traffic and needs no shard planning. A morning schedule cannot react to a breaking story at an unknown time. Enhanced fan-out and retention settings do not change write capacity.
On-demand mode scales stream capacity automatically with traffic and needs no shard planning. A morning schedule cannot react to a breaking story at an unknown time. Enhanced fan-out and retention settings do not change write capacity.
Question 2Data Store Management
A hospital stores medical images in S3. After 90 days, images are opened only a few times a year, but when a doctor asks for one it must load within milliseconds. Which storage class is the MOST cost-effective for images older than 90 days?
Correct answer: C. S3 Glacier Instant Retrieval
Glacier Instant Retrieval offers low storage cost for rarely accessed data with millisecond retrieval. Glacier Flexible Retrieval and Deep Archive cost less to store, but objects take minutes to hours to restore.
Glacier Instant Retrieval offers low storage cost for rarely accessed data with millisecond retrieval. Glacier Flexible Retrieval and Deep Archive cost less to store, but objects take minutes to hours to restore.
Question 3Data Operations
A media company must process 2 million image metadata files in Amazon S3 each night with a short validation function. The current Step Functions workflow loops over files one at a time and takes too long. The team wants high parallelism with the least custom orchestration code. Which solution BEST meets these requirements?
Correct answer: D. Use a Step Functions Distributed Map state to process the S3 objects in parallel.
A Distributed Map state iterates over S3 objects at large scale and runs many child executions in parallel with no custom fan-out code. A single Lambda function has a 15-minute limit and cannot handle 2 million files reliably.
A Distributed Map state iterates over S3 objects at large scale and runs many child executions in parallel with no custom fan-out code. A single Lambda function has a 15-minute limit and cannot handle 2 million files reliably.
Question 4Security & Governance
A company has 300 Amazon Redshift users who need different access to schemas based on job function. Granting privileges user by user has become hard to manage and audit. Which solution BEST meets these requirements?
Correct answer: D. Create Redshift roles per job function and grant those roles to users.
Redshift role-based access control groups privileges into roles that are granted to users, which makes access easier to manage and audit. Shared database users remove individual accountability in audit logs.
Redshift role-based access control groups privileges into roles that are granted to users, which makes access easier to manage and audit. Shared database users remove individual accountability in audit logs.
Question 5Ingestion & Transformation
A fraud team reads a Kinesis data stream with a custom application. After a bug fix, it must be able to reprocess the last five days of records from the stream itself. The stream currently uses the default retention period. What should the team change before the next incident?
Correct answer: B. Increase the stream's data retention period to seven days.
Kinesis Data Streams keeps records for 24 hours by default, and retention can be raised up to 365 days so consumers can replay older data. On-demand mode changes how capacity scales but keeps the same default retention.
Kinesis Data Streams keeps records for 24 hours by default, and retention can be raised up to 365 days so consumers can replay older data. On-demand mode changes how capacity scales but keeps the same default retention.
Question 6Data Store Management
A company's Amazon Redshift DC2 cluster is running out of disk space while CPU use stays low. Data volume will triple in two years, but compute needs will grow slowly. Which change BEST fits?
Correct answer: B. Move to RA3 nodes that use Redshift Managed Storage.
RA3 nodes keep data in Redshift Managed Storage backed by S3, so storage scales separately from compute and is billed separately. Adding DC2 nodes buys compute that is not needed. ALL distribution copies tables to every node and uses even more disk.
RA3 nodes keep data in Redshift Managed Storage backed by S3, so storage scales separately from compute and is billed separately. Adding DC2 nodes buys compute that is not needed. ALL distribution copies tables to every node and uses even more disk.
Question 7Data Operations
A data team has an AWS Glue ETL job that must run every day at 2 AM UTC. The job has no dependencies on other jobs. The team wants the simplest managed approach with no servers to manage. Which solution BEST meets these requirements?
Correct answer: D. Create a Glue scheduled trigger with a cron expression that starts the job.
A Glue scheduled trigger runs the job on a cron schedule with no extra infrastructure. MWAA can also schedule it, but it adds an Airflow environment to run and pay for, which is far more overhead than needed.
A Glue scheduled trigger runs the job on a cron schedule with no extra infrastructure. MWAA can also schedule it, but it adds an Airflow environment to run and pay for, which is far more overhead than needed.
Question 8Ingestion & Transformation
A company sends web server logs through Amazon Data Firehose to S3. Before delivery, each record must be parsed from a custom text format and enriched with a lookup value. The team wants to keep Firehose as the delivery service. What should it add?
Correct answer: C. A Lambda function set as the Firehose data transformation
Firehose can invoke a Lambda function on each buffered batch to parse, enrich or filter records before delivery. Record format conversion only turns JSON into Parquet or ORC, so it cannot parse a custom text format or add lookup data.
Firehose can invoke a Lambda function on each buffered batch to parse, enrich or filter records before delivery. Record format conversion only turns JSON into Parquet or ORC, so it cannot parse a custom text format or add lookup data.
Question 9Security & Governance
A company registered its S3 data lake with AWS Lake Formation and granted fine-grained permissions. However, analysts can still query every table through Athena with only their IAM permissions, ignoring Lake Formation grants. What should the data engineer do to enforce Lake Formation permissions?
Correct answer: B. Revoke the IAMAllowedPrincipals grants and change the default catalog settings.
By default, Lake Formation gives the IAMAllowedPrincipals group access, so IAM permissions alone still work. Revoking those grants and changing the default settings makes Lake Formation permissions apply. Block Public Access stops public access but does not affect IAM principals in the account.
By default, Lake Formation gives the IAMAllowedPrincipals group access, so IAM permissions alone still work. Revoking those grants and changing the default settings makes Lake Formation permissions apply. Block Public Access stops public access but does not affect IAM principals in the account.
Question 10Data Store Management
An Amazon Redshift star schema has a 5-billion-row fact table and a 2,000-row stores dimension that rarely changes. Joins to the stores table show broadcast steps in query plans. Which distribution style should the stores table use?
Correct answer: C. ALL distribution
ALL distribution keeps a full copy of a small, rarely changing table on every node, so joins never need to move it. EVEN distribution spreads rows across slices, so joins still broadcast or redistribute the table. Columns such as store_name are not join columns and do not help.
ALL distribution keeps a full copy of a small, rarely changing table on every node, so joins never need to move it. EVEN distribution spreads rows across slices, so joins still broadcast or redistribute the table. Columns such as store_name are not join columns and do not help.
Question 11Ingestion & Transformation
A multi-tenant SaaS company delivers events through Amazon Data Firehose to S3. Each tenant's data must land under its own prefix, such as tenant_id=123/, so it can be queried and governed separately. The team wants this done during delivery without a separate job. What should it use?
Correct answer: A. Firehose dynamic partitioning on tenant_id from each record
Dynamic partitioning extracts keys such as tenant_id from records with inline JQ parsing or Lambda and writes the data to matching S3 prefixes. One stream per tenant works at small scale but becomes hard to manage as tenants grow. A nightly job adds delay and another process to run.
Dynamic partitioning extracts keys such as tenant_id from records with inline JQ parsing or Lambda and writes the data to matching S3 prefixes. One stream per tenant works at small scale but becomes hard to manage as tenants grow. A nightly job adds delay and another process to run.
Question 12Data Operations
An e-commerce company keeps order history in Amazon S3 and live inventory in Amazon DynamoDB. Analysts want to join the two sources in one SQL query without building a pipeline to copy the DynamoDB data. Which solution BEST meets these requirements?
Correct answer: B. Use Athena Federated Query with the DynamoDB data source connector.
Athena Federated Query uses a Lambda-based connector to query DynamoDB in place and join it with S3 data. Hourly exports create a pipeline and stale copies, which the analysts want to avoid.
Athena Federated Query uses a Lambda-based connector to query DynamoDB in place and join it with S3 data. Hourly exports create a pipeline and stale copies, which the analysts want to avoid.
Question 13Ingestion & Transformation
An IoT company writes sensor readings of about 100 bytes each to a Kinesis data stream. Producers are throttled at 1,000 records per second per shard, while each shard receives far less than 1 MB per second. The team wants more throughput without adding shards. What should it do?
Correct answer: A. Use the Kinesis Producer Library to aggregate readings into records.
The Kinesis Producer Library can pack many small user records into one Kinesis record, so producers stay under the per-shard record limit while using more of the 1 MB per second byte limit. Enhanced fan-out helps reads only, and PutRecord sends one record per call, which makes the problem worse.
The Kinesis Producer Library can pack many small user records into one Kinesis record, so producers stay under the per-shard record limit while using more of the 1 MB per second byte limit. Enhanced fan-out helps reads only, and PutRecord sends one record per call, which makes the problem worse.
Question 14Data Store Management
A BI dashboard runs the same complex aggregation over several large Amazon Redshift tables hundreds of times a day. The base tables change a few times per hour. The team wants faster dashboards with results kept current automatically. What should it create?
Correct answer: C. A materialized view with AUTO REFRESH YES
A materialized view stores the precomputed result, and auto refresh keeps it updated as base tables change, often incrementally. A standard or late-binding view reruns the full aggregation each time the dashboard queries it.
A materialized view stores the precomputed result, and auto refresh keeps it updated as base tables change, often incrementally. A standard or late-binding view reruns the full aggregation each time the dashboard queries it.
Question 15Security & Governance
A data engineer loads data into Amazon Redshift with the COPY command from Amazon S3. The current scripts include an IAM user's access key and secret key in the COPY statement. Security wants long-term keys removed. Which solution BEST meets these requirements?
Correct answer: D. Associate an IAM role with the cluster and use IAM_ROLE in the COPY command.
An IAM role associated with the cluster gives COPY temporary credentials, so no long-term keys are needed. Rotating access keys weekly still leaves long-term keys in the scripts.
An IAM role associated with the cluster gives COPY temporary credentials, so no long-term keys are needed. Rotating access keys weekly still leaves long-term keys in the scripts.
Question 16Data Operations
An Amazon Redshift cluster runs long ETL queries and short dashboard queries in the same WLM queue. Dashboard users complain that simple queries that should take a second wait behind long ETL queries. The team wants faster short queries without managing separate clusters. Which solution BEST meets these requirements?
Correct answer: D. Enable short query acceleration in the WLM configuration.
Short query acceleration sends predicted short queries to a dedicated space so they do not wait behind long-running queries. Adding nodes raises cost and does not stop short queries from queuing behind long ones.
Short query acceleration sends predicted short queries to a dedicated space so they do not wait behind long-running queries. Adding nodes raises cost and does not stop short queries from queuing behind long ones.
Question 17Ingestion & Transformation
A Lambda function reads a Kinesis data stream in batches of 500 records. One malformed record makes the whole batch fail, and the function retries the same batch until the records expire, which stalls the shard. How should the team isolate bad records with the least code?
Correct answer: A. Turn on bisect batch on error, cap retries, and add an on-failure destination.
Bisect batch on function error splits a failing batch in half and retries each half, which isolates the bad record. A maximum retry count with an on-failure destination such as SQS lets processing continue and keeps failed records for review. A batch size of one avoids blocking but greatly reduces throughput.
Bisect batch on function error splits a failing batch in half and retries each half, which isolates the bad record. A maximum retry count with an on-failure destination such as SQS lets processing continue and keeps failed records for review. A batch size of one avoids blocking but greatly reduces throughput.
Question 18Data Store Management
A ticketing company's Amazon DynamoDB table sees almost no traffic most days and sudden spikes when concerts go on sale at hard-to-predict times. Provisioned capacity with auto scaling throttles requests during the first minutes of each spike. Which change BEST fits?
Correct answer: B. Switch the table to on-demand capacity mode.
On-demand mode serves requests without capacity planning and charges per request, which suits spiky and unpredictable traffic. Auto scaling reacts over minutes, and a higher target utilization would leave even less headroom for sudden spikes.
On-demand mode serves requests without capacity planning and charges per request, which suits spiky and unpredictable traffic. Auto scaling reacts over minutes, and a higher target utilization would leave even less headroom for sudden spikes.
Question 19Security & Governance
A company's AWS Glue jobs write output to S3 and also write logs to CloudWatch Logs and store job bookmarks. A compliance rule says all three must be encrypted with KMS. Which solution BEST meets these requirements?
Correct answer: D. Create a Glue security configuration that covers all three and attach it to the jobs.
A Glue security configuration sets KMS encryption for S3 output, CloudWatch logs and job bookmarks together. S3 default encryption covers only the bucket, so logs and bookmarks stay unprotected by the required key.
A Glue security configuration sets KMS encryption for S3 output, CloudWatch logs and job bookmarks together. S3 default encryption covers only the bucket, so logs and bookmarks stay unprotected by the required key.
Question 20Ingestion & Transformation
A data engineer sets up an AWS DMS task with CDC from a self-managed MySQL database to S3. The full load succeeds, but the CDC phase captures no changes. Which source setting does MySQL CDC require?
Correct answer: C. Binary logging turned on with binlog_format set to ROW
DMS reads changes from the MySQL binary log, which must be turned on and use the ROW format so every row change is recorded. The general query log records statements for auditing and is not used by DMS to capture changes.
DMS reads changes from the MySQL binary log, which must be turned on and use the ROW format so every row change is recorded. The general query log records statements for auditing and is not used by DMS to capture changes.
Question 21Data Operations
A pharmaceutical company has data scientists who want Jupyter notebooks to explore large datasets with Apache Spark on Amazon EMR. The IT team does not want to install or manage notebook servers on the clusters. Which solution BEST meets these requirements?
Correct answer: A. Use Amazon EMR Studio with managed notebooks attached to EMR clusters.
EMR Studio provides managed Jupyter notebooks that attach to EMR clusters without servers for IT to run. Installing JupyterHub with a bootstrap action works but leaves the team managing that software on every cluster.
EMR Studio provides managed Jupyter notebooks that attach to EMR clusters without servers for IT to run. Installing JupyterHub with a bootstrap action works but leaves the team managing that software on every cluster.
Question 22Data Store Management
A data team needs a full copy of a 3 TB production Amazon DynamoDB table in S3 every day for analysis in Athena. The copy must not use the table's read capacity or affect application performance. What should the team use?
Correct answer: C. DynamoDB export to S3 with point-in-time recovery on
Export to S3 reads from point-in-time recovery data, so it uses no read capacity and does not affect the live table. A Glue job or Lambda scan reads directly from the table and consumes its read capacity. AWS Backup creates backups for restore, not query-ready files in S3.
Export to S3 reads from point-in-time recovery data, so it uses no read capacity and does not affect the live table. A Glue job or Lambda scan reads directly from the table and consumes its read capacity. AWS Backup creates backups for restore, not query-ready files in S3.
Question 23Ingestion & Transformation
When a file arrives in an S3 bucket, a company must start a Step Functions workflow, send a message to an SQS queue, and log the event, but only for .parquet files under the incoming/ prefix. The team wants one managed routing setup. What should it do?
Correct answer: A. Turn on Amazon EventBridge for the bucket and add one filtered rule.
With EventBridge turned on for the bucket, one rule can filter on key prefix and suffix and send the event to several targets, including Step Functions and SQS. S3 event notifications cannot have overlapping prefix and suffix filters for the same event type, and Step Functions is not a direct notification target.
With EventBridge turned on for the bucket, one rule can filter on key prefix and suffix and send the event to several targets, including Step Functions and SQS. S3 event notifications cannot have overlapping prefix and suffix filters for the same event type, and Step Functions is not a direct notification target.
Question 24Security & Governance
A bank's security policy requires that all client connections to its Amazon Redshift provisioned cluster use encrypted connections. Some older BI tools still try to connect without SSL. Which solution BEST meets these requirements?
Correct answer: B. Set require_ssl to true in the cluster's parameter group.
Setting require_ssl to true makes Redshift reject connections that do not use SSL. KMS encryption protects data at rest, not the client connection.
Setting require_ssl to true makes Redshift reject connections that do not use SSL. KMS encryption protects data at rest, not the client connection.
Question 25Data Store Management
A content company runs a self-managed MongoDB cluster that stores article metadata as flexible JSON documents. It wants a managed service that works with its existing MongoDB drivers and queries with few code changes. Which service BEST fits?
Correct answer: A. Amazon DocumentDB (with MongoDB compatibility)
DocumentDB is a managed JSON document database that supports MongoDB APIs and drivers, so applications move with few changes. DynamoDB also stores JSON-like items, but it has its own API, so the data access code would need a rewrite.
DocumentDB is a managed JSON document database that supports MongoDB APIs and drivers, so applications move with few changes. DynamoDB also stores JSON-like items, but it has its own API, so the data access code would need a rewrite.
Question 26Ingestion & Transformation
An AWS Glue job reads a catalog table partitioned by year, month and day that holds five years of data. The job needs only yesterday's data, but it lists and loads every partition before filtering, which takes a long time. What should the data engineer change?
Correct answer: C. Pass a push_down_predicate on the partition columns when reading.
A pushdown predicate filters partitions using catalog metadata before any data is listed or read, so only yesterday's partition is loaded. A Filter transform runs after the data has already been loaded, so it does not save the read time.
A pushdown predicate filters partitions using catalog metadata before any data is listed or read, so only yesterday's partition is loaded. A Filter transform runs after the data has already been loaded, so it does not save the read time.
Question 27Data Operations
A sales team uses Amazon QuickSight dashboards that query an Amazon RDS database directly. Dashboards load slowly during the day and the queries add load to the production database. The data only needs to be refreshed every few hours. Which solution BEST meets these requirements?
Correct answer: B. Import the dataset into SPICE and schedule refreshes every few hours.
SPICE is QuickSight's in-memory engine, so dashboards load quickly and the database is queried only during scheduled refreshes. A read replica offloads production but still runs every dashboard query live, which keeps dashboards slow and adds cost.
SPICE is QuickSight's in-memory engine, so dashboards load quickly and the database is queried only during scheduled refreshes. A read replica offloads production but still runs every dashboard query live, which keeps dashboards slow and adds cost.
Question 28Ingestion & Transformation
A company runs nightly AWS Glue Spark jobs that are not time-sensitive and can finish any time before 8 AM. The company wants to lower the cost of these jobs without changing their code. What should the data engineer do?
Correct answer: D. Set the job execution class to Flex.
The Flex execution class runs Glue Spark jobs on spare capacity at a lower price, which suits non-urgent work that can accept variable start times. Python shell jobs cost less per hour, but they do not run Spark, so the code would need a rewrite.
The Flex execution class runs Glue Spark jobs on spare capacity at a lower price, which suits non-urgent work that can accept variable start times. Python shell jobs cost less per hour, but they do not run Spark, so the code would need a rewrite.
Question 29Data Store Management
A telecom company runs Apache Cassandra clusters for call detail records, and its applications use CQL. It wants a serverless service that keeps CQL compatibility and removes cluster patching. What should it choose?
Correct answer: A. Amazon Keyspaces (for Apache Cassandra)
Amazon Keyspaces is a serverless, managed database compatible with Apache Cassandra, so applications keep using CQL and their existing drivers. DocumentDB is compatible with MongoDB APIs, not with CQL.
Amazon Keyspaces is a serverless, managed database compatible with Apache Cassandra, so applications keep using CQL and their existing drivers. DocumentDB is compatible with MongoDB APIs, not with CQL.
Question 30Security & Governance
A partner account writes files into a company's S3 bucket with PutObject. The company's Athena and Glue roles get AccessDenied on these files even though the bucket policy grants them read access, because the partner account owns the uploaded objects. The company wants to own every new object and stop using ACLs. Which solution BEST meets these requirements?
Correct answer: B. Set S3 Object Ownership on the bucket to Bucket owner enforced.
With the Bucket owner enforced setting, ACLs are disabled and the bucket owner automatically owns every object, so the bucket policy controls access to all uploads. Versioning and default encryption do not change who owns an object.
With the Bucket owner enforced setting, ACLs are disabled and the bucket owner automatically owns every object, so the bucket policy controls access to all uploads. Versioning and default encryption do not change who owns an object.
Question 31Data Operations
An AWS Glue 4.0 Spark job processes daily files whose size varies from 5 GB to 500 GB. With a fixed 50 workers, small days waste money and large days run slowly. The team wants Glue to adjust workers to the workload automatically. Which solution BEST meets these requirements?
Correct answer: A. Enable auto scaling on the job and set the maximum number of workers.
Glue auto scaling adds and removes workers during the run based on the workload, up to the set maximum. Job bookmarks only skip data already processed, so they do not change worker count for a large day.
Glue auto scaling adds and removes workers during the run based on the workload, up to the set maximum. Job bookmarks only skip data already processed, so they do not change worker count for a large day.
Question 32Ingestion & Transformation
A company already runs all of its microservices on a shared Amazon EKS cluster managed by a platform team. The data team now needs to run Apache Spark transformation jobs and wants to reuse that cluster's capacity and tooling instead of managing a separate EMR cluster. What should the data engineer use?
Correct answer: D. Amazon EMR on EKS
EMR on EKS runs Spark jobs on an existing EKS cluster, so the team shares capacity and Kubernetes tooling while keeping the EMR runtime. A separate EMR on EC2 cluster works but adds the cluster management the team wants to avoid.
EMR on EKS runs Spark jobs on an existing EKS cluster, so the team shares capacity and Kubernetes tooling while keeping the EMR runtime. A separate EMR on EC2 cluster works but adds the cluster management the team wants to avoid.
Question 33Data Store Management
A trading app needs a primary database with microsecond reads, Redis-compatible data structures, and durability so that no acknowledged write is lost if a node fails. Which service BEST fits?
Correct answer: A. Amazon MemoryDB
MemoryDB is a Redis OSS and Valkey compatible in-memory database that stores data durably in a Multi-AZ transaction log, so it can be a primary database. Memcached has no persistence or replication, so its data is lost when a node fails.
MemoryDB is a Redis OSS and Valkey compatible in-memory database that stores data durably in a Multi-AZ transaction log, so it can be a primary database. Memcached has no persistence or replication, so its data is lost when a node fails.
Question 34Ingestion & Transformation
An online game stores player profiles in Amazon DynamoDB. Whenever a profile changes, the data team must send the before and after values of the item to an audit pipeline within seconds, in the order of changes for each item. The team wants a serverless design that does not poll the table. Which solution BEST meets these requirements?
Correct answer: C. Enable DynamoDB Streams with NEW_AND_OLD_IMAGES and process it with Lambda.
DynamoDB Streams captures each item change in order for that item, and the NEW_AND_OLD_IMAGES view includes both versions of the item. Lambda reads the stream through an event source mapping with no polling code. The KEYS_ONLY view records only key attributes, so the before and after values would be missing.
DynamoDB Streams captures each item change in order for that item, and the NEW_AND_OLD_IMAGES view includes both versions of the item. Lambda reads the stream through an event source mapping with no polling code. The KEYS_ONLY view records only key attributes, so the before and after values would be missing.
Question 35Data Operations
A company runs dozens of AWS Glue jobs. The operations team wants to receive a message in an Amazon SNS topic whenever any Glue job run ends in a FAILED state. The team wants a managed solution with no polling code. Which solution BEST meets these requirements?
Correct answer: A. Create an EventBridge rule for Glue job FAILED state changes that targets SNS.
Glue sends job state change events to EventBridge, and a rule matching FAILED can notify SNS directly. Adding SNS code inside scripts misses failures that stop the job before that code runs.
Glue sends job state change events to EventBridge, and a rule matching FAILED can notify SNS directly. Adding SNS code inside scripts misses failures that stop the job before that code runs.
Question 36Security & Governance
A health insurer builds an AWS Glue Studio ETL job that copies member data to an analytics zone. Fields such as phone numbers and email addresses must be detected and masked before data lands there. The team wants a managed approach with little custom code. Which solution BEST meets these requirements?
Correct answer: D. Add the Glue Detect Sensitive Data transform and set it to redact the detected PII.
The Glue Studio Detect Sensitive Data transform finds PII in the job and can redact or hash it before the data is written. Encryption at rest still lets authorized readers see the raw PII values.
The Glue Studio Detect Sensitive Data transform finds PII in the job and can redact or hash it before the data is written. Encryption at rest still lets authorized readers see the raw PII values.
Question 37Data Store Management
Several producer teams publish Avro events to Amazon MSK topics. A recent producer change renamed a field and broke downstream consumers. The data team wants schema changes checked centrally so incompatible versions are rejected. What should it use?
Correct answer: B. AWS Glue Schema Registry with a compatibility mode
Glue Schema Registry stores versioned schemas and checks each new version against the schema's compatibility mode, so a breaking change cannot be registered. Producers use registry-aware serializers when writing records. A crawler infers schemas after the fact and cannot block a bad change.
Glue Schema Registry stores versioned schemas and checks each new version against the schema's compatibility mode, so a breaking change cannot be registered. Producers use registry-aware serializers when writing records. A crawler infers schemas after the fact and cannot block a bad change.
Question 38Ingestion & Transformation
A team uses a Lambda function to transform files that land in S3. Some new files are 20 GB and take about 40 minutes to process, so the function times out. The team wants a serverless option that runs the same Python transformation. What should it use?
Correct answer: C. An AWS Glue job started for each new file
Lambda functions can run for at most 15 minutes, so a 40-minute task cannot finish there no matter how much memory is assigned. A Glue job is serverless, supports Python, and has no 15-minute limit. S3 Batch Operations still invokes Lambda, so the same timeout applies.
Lambda functions can run for at most 15 minutes, so a 40-minute task cannot finish there no matter how much memory is assigned. A Glue job is serverless, supports Python, and has no 15-minute limit. S3 Batch Operations still invokes Lambda, so the same timeout applies.
Question 39Data Operations
Many analysts open the same Amazon Athena reports throughout the day, and each report runs identical queries on tables that are updated only once each night. The repeated queries add cost and make users wait. The team wants Athena to return stored results for repeated queries when those results are recent enough. Which solution BEST meets these requirements?
Correct answer: B. Turn on query result reuse with a maximum age for the queries.
Athena query result reuse returns the stored results of an earlier identical query when they are within the maximum age, so the data is not scanned again. A scan limit only cancels large queries and does not avoid repeated scans.
Athena query result reuse returns the stored results of an earlier identical query when they are within the maximum age, so the data is not scanned again. A scan limit only cancels large queries and does not avoid repeated scans.
Question 40Ingestion & Transformation
A data engineer loads one 200 GB uncompressed CSV file into an Amazon Redshift cluster with 16 slices. The COPY command is slow and uses only a small part of the cluster. Which change will speed up the load the MOST?
Correct answer: D. Split it into 32 compressed files of similar size and COPY the prefix.
COPY loads files in parallel across slices, so splitting the data into a multiple of the slice count with similar file sizes uses the whole cluster. Compression also cuts the data read from S3. Single-row INSERTs are far slower than COPY for bulk loads.
COPY loads files in parallel across slices, so splitting the data into a multiple of the slice count with similar file sizes uses the whole cluster. Compression also cuts the data read from S3. Single-row INSERTs are far slower than COPY for bulk loads.
Question 41Data Store Management
A company runs Spark on Amazon EMR, ad hoc SQL in Amazon Athena, and Redshift Spectrum queries on the same S3 data. Each engine keeps its own table definitions, and they drift apart. What should the data engineer do to keep one shared set of table metadata?
Correct answer: B. Use the AWS Glue Data Catalog as the metastore for all three.
EMR can use the Glue Data Catalog as its Hive-compatible metastore, and Athena and Redshift Spectrum read table definitions from the same catalog, which removes drift. Copying separate metastores every night still leaves gaps and adds jobs to maintain.
EMR can use the Glue Data Catalog as its Hive-compatible metastore, and Athena and Redshift Spectrum read table definitions from the same catalog, which removes drift. Copying separate metastores every night still leaves gaps and adds jobs to maintain.
Question 42Security & Governance
A company already uses Amazon Macie on its S3 buckets. It also stores internal employee IDs in the format EMP- followed by six digits, and Macie does not report them. The company wants Macie to flag files that contain these IDs. Which solution BEST meets these requirements?
Correct answer: C. Create a Macie custom data identifier with a regular expression for the ID format.
Macie custom data identifiers use a regular expression, with optional keywords, to detect organization-specific sensitive data. GuardDuty threat lists hold malicious IP addresses and domains, not content patterns.
Macie custom data identifiers use a regular expression, with optional keywords, to detect organization-specific sensitive data. GuardDuty threat lists hold malicious IP addresses and domains, not content patterns.
Question 43Ingestion & Transformation
A delivery company wants order events from a Kinesis data stream to appear in Amazon Redshift dashboards within seconds. It wants to avoid staging the data in S3 or running a separate loading service. What should the data engineer use?
Correct answer: A. Redshift streaming ingestion into a materialized view
Redshift streaming ingestion reads directly from Kinesis Data Streams or Amazon MSK into a materialized view that can refresh automatically with low latency. Firehose delivery to Redshift stages data in S3 and then runs COPY, which adds delay and another service.
Redshift streaming ingestion reads directly from Kinesis Data Streams or Amazon MSK into a materialized view that can refresh automatically with low latency. Firehose delivery to Redshift stages data in S3 and then runs COPY, which adds delay and another service.
Question 44Data Store Management
A data team wants to store Apache Iceberg tables in S3 without building its own jobs for compaction, snapshot expiration and removal of unreferenced files. It wants a purpose-built S3 option for tabular data. What should it use?
Correct answer: D. Amazon S3 Tables in a table bucket
S3 Tables store data in Iceberg format in table buckets and run maintenance such as compaction, snapshot management and unreferenced file removal automatically. A general purpose bucket can also hold Iceberg tables, but the team would have to run that maintenance itself.
S3 Tables store data in Iceberg format in table buckets and run maintenance such as compaction, snapshot management and unreferenced file removal automatically. A general purpose bucket can also hold Iceberg tables, but the team would have to run that maintenance itself.
Question 45Data Operations
A data engineering team already runs Apache Spark jobs on Amazon EMR. They want to write data unit tests in Scala, such as completeness and uniqueness checks, store the metrics over time, and detect anomalies in those metrics. They prefer an open source library inside their existing jobs. Which solution BEST meets these requirements?
Correct answer: A. Use the open source Deequ library in the Spark jobs with a metrics repository.
Deequ is an open source library built on Spark for defining data quality constraints, storing metrics and detecting anomalies. DataBrew is a visual data preparation tool and does not run as a library inside existing Spark code.
Deequ is an open source library built on Spark for defining data quality constraints, storing metrics and detecting anomalies. DataBrew is a visual data preparation tool and does not run as a library inside existing Spark code.
Question 46Ingestion & Transformation
A data team must run a Lambda export function at 6 AM local time in Berlin every weekday, and the schedule must follow daylight saving time changes automatically. The team wants a managed scheduler with no servers. What should it use?
Correct answer: C. EventBridge Scheduler with a cron schedule in the Europe/Berlin time zone
EventBridge Scheduler accepts an IANA time zone with cron expressions and adjusts for daylight saving time automatically. Scheduled EventBridge rules use UTC only, so someone would have to edit the schedule twice a year. Glue triggers start Glue jobs and crawlers, not Lambda functions.
EventBridge Scheduler accepts an IANA time zone with cron expressions and adjusts for daylight saving time automatically. Scheduled EventBridge rules use UTC only, so someone would have to edit the schedule twice a year. Glue triggers start Glue jobs and crawlers, not Lambda functions.
Question 47Security & Governance
Auditors ask a company to show which IAM principals accessed tables in its Lake Formation data lake through Athena and when. The company already has an organization CloudTrail trail. Which solution BEST meets these requirements?
Correct answer: D. Query CloudTrail logs for Lake Formation GetDataAccess events and their principals.
When Lake Formation vends temporary credentials to services such as Athena, CloudTrail records a GetDataAccess event with the principal and table. S3 server access logs show the service role reading files, not the end user or the table name.
When Lake Formation vends temporary credentials to services such as Athena, CloudTrail records a GetDataAccess event with the principal and table. S3 server access logs show the service role reading files, not the end user or the table name.
Question 48Data Store Management
A company wants to archive yearly data from an Amazon RDS for PostgreSQL database into S3 for long-term analysis with Athena. It prefers a managed feature that writes the data in an analytics-friendly format without custom ETL code. What should the data engineer use?
Correct answer: D. Export an RDS snapshot to S3, which writes Parquet.
RDS snapshot export writes table data to S3 in Apache Parquet format, which Athena can query directly. A pg_dump file is a SQL script, not a queryable format, and it needs an EC2 host and scripts. Cross-Region backup copies protect against disasters but cannot be queried with Athena.
RDS snapshot export writes table data to S3 in Apache Parquet format, which Athena can query directly. A pg_dump file is a SQL script, not a queryable format, and it needs an EC2 host and scripts. Cross-Region backup copies protect against disasters but cannot be queried with Athena.
Question 49Ingestion & Transformation
Partner systems drop CSV files into an S3 prefix many times each hour, and each file must be loaded into an Amazon Redshift table. The team wants Redshift to detect and load new files automatically and track which files were already loaded, without building Lambda functions or schedulers. Which solution BEST meets these requirements?
Correct answer: B. Create a COPY JOB with auto-copy on the S3 prefix in Redshift.
Redshift auto-copy uses a COPY JOB that watches an S3 prefix, loads new files automatically, and tracks loaded files so they are not loaded twice. A Lambda function started by S3 events could work, but it is the custom code the team wants to avoid.
Redshift auto-copy uses a COPY JOB that watches an S3 prefix, loads new files automatically, and tracks loaded files so they are not loaded twice. A Lambda function started by S3 events could work, but it is the custom code the team wants to avoid.
Question 50Data Operations
A company catalogs a new customer table in the AWS Glue Data Catalog. The data team does not know which quality checks to write and wants AWS to suggest a starting set of rules based on the current data. Which solution BEST meets these requirements?
Correct answer: C. Generate AWS Glue Data Quality rule recommendations for the table.
Glue Data Quality can analyze a Data Catalog table and recommend DQDL rules based on its data. A crawler with schema change detection only tracks schema updates and does not suggest quality rules.
Glue Data Quality can analyze a Data Catalog table and recommend DQDL rules based on its data. A crawler with schema change detection only tracks schema updates and does not suggest quality rules.
Question 51Security & Governance
A large enterprise has many business units that produce and consume data. It wants a business data catalog where producers publish data assets, consumers search and request access, and owners approve requests, with governance across accounts. Which AWS service BEST meets these requirements?
Correct answer: D. Amazon DataZone
Amazon DataZone provides a business data catalog with publishing, search, subscription requests and approval workflows across accounts. AWS RAM only shares resources between accounts and has no catalog or request workflow.
Amazon DataZone provides a business data catalog with publishing, search, subscription requests and approval workflows across accounts. AWS RAM only shares resources between accounts and has no catalog or request workflow.
Question 52Ingestion & Transformation
A team publishes events to Kafka topics and needs a compact, row-based binary format where each record is written with a schema, and new optional fields can be added without breaking existing consumers. Which format BEST fits?
Correct answer: C. Apache Avro
Avro is a compact, row-oriented binary format that uses a schema and supports schema evolution, such as adding fields with default values. Parquet is columnar and suits analytics files, not single-event messages. JSON is row-based but has no enforced schema and is larger.
Avro is a compact, row-oriented binary format that uses a schema and supports schema evolution, such as adding fields with default values. Parquet is columnar and suits analytics files, not single-event messages. JSON is row-based but has no enforced schema and is larger.
Question 53Data Store Management
A data warehouse loads customers from two source systems that both number customer IDs starting at 1. The customers dimension will also keep a history of changes. What should the dimension use as its primary key?
Correct answer: B. A surrogate key generated by the warehouse
A surrogate key is a warehouse-generated identifier that stays unique across sources and allows several history rows for one customer. Source IDs collide between the two systems and repeat across history rows. Emails, names and cities can change or be shared.
A surrogate key is a warehouse-generated identifier that stays unique across sources and allows several history rows for one customer. Source IDs collide between the two systems and repeat across history rows. Emails, names and cities can change or be shared.
Question 54Data Operations
A data engineer deleted about 40 percent of the rows from a large Amazon Redshift table to remove old data. Disk usage did not drop, and queries on the table still scan many blocks. The engineer needs the space reclaimed now rather than waiting for background maintenance. What should the engineer run?
Correct answer: C. VACUUM DELETE ONLY on the table.
A Redshift DELETE only marks rows as deleted, and VACUUM DELETE ONLY reclaims the space those rows use without the cost of a full resort. ANALYZE updates planner statistics but does not remove deleted rows or free disk space.
A Redshift DELETE only marks rows as deleted, and VACUUM DELETE ONLY reclaims the space those rows use without the cost of a full resort. ANALYZE updates planner statistics but does not remove deleted rows or free disk space.
Question 55Ingestion & Transformation
A Spark job on Amazon EMR reads one 50 GB gzip-compressed CSV file each day. The cluster has 50 executors, but a single task does all the reading and the job is slow. What should the data engineer do?
Correct answer: A. Have the producer write many smaller files or use a splittable format.
Gzip files are not splittable, so Spark must read the whole file in one task. Many smaller files, or a splittable format such as Parquet or bzip2, let the read run in parallel. More nodes do not help because only one task can read the file.
Gzip files are not splittable, so Spark must read the whole file in one task. Many smaller files, or a splittable format such as Parquet or bzip2, let the read run in parallel. More nodes do not help because only one task can read the file.
Question 56Data Store Management
A security team keeps 18 months of logs in Amazon OpenSearch Service on hot data nodes. Logs older than 30 days are searched rarely and only read, but they must stay searchable in the same domain. The team wants to cut storage cost. What should it do?
Correct answer: B. Move indexes older than 30 days to UltraWarm with an ISM policy.
UltraWarm stores read-only indexes on S3-backed storage at much lower cost while keeping them searchable in the domain, and Index State Management can move them on a schedule. Deleting and restoring from snapshots leaves data unsearchable until someone restores it.
UltraWarm stores read-only indexes on S3-backed storage at much lower cost while keeping them searchable in the domain, and Index State Management can move them on a schedule. Deleting and restoring from snapshots leaves data unsearchable until someone restores it.
Question 57Security & Governance
A central data lake account uses AWS Lake Formation. A consumer account needs SELECT on two tables, and its analysts will query them with Athena in their own account. Data must not be copied. Which solution BEST meets these requirements?
Correct answer: A. Grant the tables to the consumer account in Lake Formation and create resource links there.
Lake Formation cross-account grants share the tables through AWS RAM, and resource links let the consumer query them in Athena without copying data. Sharing the bucket directly bypasses Lake Formation permissions and still needs a separate catalog.
Lake Formation cross-account grants share the tables through AWS RAM, and resource links let the consumer query them in Athena without copying data. Sharing the bucket directly bypasses Lake Formation permissions and still needs a separate catalog.
Question 58Ingestion & Transformation
Analysts use Amazon Athena on a 50 TB S3 sales table. Nearly every query filters on sale_date and some also filter on region, which has 6 values. The table also has a customer_id column with 20 million distinct values. Which partitioning scheme BEST balances pruning and partition count?
Correct answer: C. Partition by sale_date and region
Partitioning on filter columns with moderate cardinality, such as sale_date and region, lets Athena skip most of the data. Partitioning on customer_id creates millions of tiny partitions and small files, which slows planning and queries.
Partitioning on filter columns with moderate cardinality, such as sale_date and region, lets Athena skip most of the data. Partitioning on customer_id creates millions of tiny partitions and small files, which slows planning and queries.
Question 59Data Operations
An AWS Glue Spark job fails a few times a week, and engineers spend hours reading long driver and executor logs to find the cause. The team wants Glue to point to the failing line of the script and suggest a likely fix for each failed run. Which solution BEST meets these requirements?
Correct answer: D. Enable job run insights on the Glue job.
Job run insights analyzes a failed Glue job run, shows the line of the script where the error happened, and gives root cause analysis with recommended actions. An EventBridge rule can report that a run failed, but it does not explain why.
Job run insights analyzes a failed Glue job run, shows the line of the script where the error happened, and gives root cause analysis with recommended actions. An EventBridge rule can report that a run failed, but it does not explain why.
Question 60Data Store Management
A retail app reads product details from an Amazon DynamoDB table, and the same popular items are read thousands of times per second. Reads take single-digit milliseconds today, but the app needs microsecond response times for these repeated reads with minimal code changes. Which solution BEST meets these requirements?
Correct answer: D. Add a DynamoDB Accelerator (DAX) cluster in front of the table.
DAX is an in-memory cache built for DynamoDB that serves repeated reads in microseconds through a DynamoDB-compatible API, so code changes are small. On-demand mode changes how capacity is billed and scaled but does not lower read latency.
DAX is an in-memory cache built for DynamoDB that serves repeated reads in microseconds through a DynamoDB-compatible API, so code changes are small. On-demand mode changes how capacity is billed and scaled but does not lower read latency.
Question 61Ingestion & Transformation
A staging table in Amazon Redshift holds several versions of each order, identified by order_id, each with an updated_at timestamp. The data engineer must keep only the latest version of each order using SQL. Which approach is correct?
Correct answer: A. Use ROW_NUMBER() partitioned by order_id, ordered by updated_at DESC, and keep row 1.
ROW_NUMBER partitioned by order_id and ordered by updated_at descending numbers each order's versions, so row 1 is the latest one. SELECT DISTINCT on both columns still returns every version because each has a different timestamp. RANK without PARTITION BY ranks across the whole table, not per order.
ROW_NUMBER partitioned by order_id and ordered by updated_at descending numbers each order's versions, so row 1 is the latest one. SELECT DISTINCT on both columns still returns every version because each has a different timestamp. RANK without PARTITION BY ranks across the whole table, not per order.
Question 62Security & Governance
A regulated company stores CloudTrail logs in Amazon S3 as evidence of data access. Auditors want proof that the log files were not changed or deleted after CloudTrail delivered them. Which solution BEST meets these requirements?
Correct answer: B. Enable CloudTrail log file integrity validation on the trail.
Log file integrity validation creates signed digest files that let auditors detect whether log files were changed or deleted. SSE-S3 encrypts the files at rest but does not prove they are unchanged.
Log file integrity validation creates signed digest files that let auditors detect whether log files were changed or deleted. SSE-S3 encrypts the files at rest but does not prove they are unchanged.
Question 63Data Operations
A nightly COPY command that loads pipe-delimited files from Amazon S3 into an Amazon Redshift provisioned cluster fails with a message that load errors occurred. The data engineer must find which file, line and column caused each error and why. Where should the engineer look?
Correct answer: D. The STL_LOAD_ERRORS system table in the cluster
STL_LOAD_ERRORS records each COPY error with the file name, line number, column and reason. S3 server access logs only show that Redshift read the files, not why rows failed to load.
STL_LOAD_ERRORS records each COPY error with the file name, line number, column and reason. S3 server access logs only show that Redshift read the files, not why rows failed to load.
Question 64Data Store Management
A company wants to archive Amazon Redshift rows older than three years to S3 in an open columnar format, partitioned by year, so Athena can query them later. The rows will then be deleted from the cluster. What should the data engineer use?
Correct answer: C. UNLOAD with FORMAT AS PARQUET and PARTITION BY year
UNLOAD writes query results to S3 and supports Parquet output with PARTITION BY, so the archive stays queryable by Athena or Redshift Spectrum. A snapshot backs up the whole cluster in a format Athena cannot read. COPY loads data into Redshift and does not export it.
UNLOAD writes query results to S3 and supports Parquet output with PARTITION BY, so the archive stays queryable by Athena or Redshift Spectrum. A snapshot backs up the whole cluster in a format Athena cannot read. COPY loads data into Redshift and does not export it.
Question 65Ingestion & Transformation
An AWS Glue ETL job writes Parquet data to a table in the AWS Glue Data Catalog. Upstream systems sometimes add new columns, and the job also creates new partitions. The team wants the catalog table updated during each write without running a separate crawler. What should the data engineer do?
Correct answer: B. Write through a Glue sink with enableUpdateCatalog and UPDATE_IN_DATABASE.
A Glue sink with enableUpdateCatalog set to true adds new partitions during the write, and updateBehavior set to UPDATE_IN_DATABASE also updates the table schema. A weekly crawler would leave new columns missing for days and adds a separate process to run.
A Glue sink with enableUpdateCatalog set to true adds new partitions during the write, and updateBehavior set to UPDATE_IN_DATABASE also updates the table schema. A weekly crawler would leave new columns missing for days and adds a separate process to run.
The real AWS Data Engineer Associate exam at a glance
65questions
2h 10mtime limit
MCQmultiple choice
75%+aim for here
Score 75% or more on two different sets before you book the real exam. Need a plan for your weak topics? See how we help you pass, or get a full refund.
More free AWS practice tests
AWS Cloud Practitioner Practice Test65 questions · CLF-C02AWS AI Practitioner Practice Test65 questions · AIF-C01AWS Solutions Architect Associate Practice Test65 questions · SAA-C03AWS Solutions Architect Professional Practice Test75 questions · SAP-C03AWS Security Specialty Practice Test65 questions · SCS-C03AWS DevOps Engineer Professional Practice Test75 questions · DOP-C02
See all 36 free practice tests →
Original practice questions written by CertOcean in the style of the AWS Data Engineer Associate exam. They are not real exam questions. AWS Data Engineer Associate and Amazon Web Services are trademarks of their owners. Real exam format: 65 questions (50 scored, 15 unscored) · 130 minutes · passing score 720 on a 100-1000 scale.