All AWS exams
Free DEA-C01 practice test: 30 questions with answers
30 original questions for AWS Certified Data Engineer - Associate, drawn from every topic area. Answer each one to see whether you got it right and why. No sign-up.
- Free questions
- 30
- Full bank
- 100 questions
- Real exam
- 65 questions, 130 min
All 30 DEA-C01 questions with answers
The same questions as the test above, grouped by exam topic. Open any question to see the answer and explanation.
Data Ingestion and Transformation (8 questions)
Question 1
A retailer streams clickstream events into Amazon Kinesis Data Streams. A Lambda consumer must write each batch to Amazon S3 in near real time, with no servers to manage. Which delivery option is the simplest fit?
- AAWS Glue crawler configured on the Kinesis data stream to infer schema
- BAmazon Athena CTAS query that writes new records to S3 every minute
- CAmazon Data Firehose delivery stream with an S3 destination
- DAmazon EMR cluster with a permanent Spark job on the event stream
Show answer and explanationHide answer
Correct answer: CAmazon Data Firehose can read from a Kinesis data stream and deliver to S3 with buffering and no servers to manage. Athena runs queries rather than ingesting streams, and a crawler only catalogs existing data.
Question 2
A data engineer needs to move 40 TB of historical data from an on-premises NFS server into Amazon S3 over a network link that is shared with production traffic. Which service is designed for this bulk transfer with scheduling and bandwidth control?
- AAmazon Kinesis Video Streams
- BAWS Snowcone with no agent
- CAWS DataSync
- DAmazon Route 53 Resolver
Show answer and explanationHide answer
Correct answer: CAWS DataSync transfers files between on-premises NFS or SMB storage and S3, with scheduling, bandwidth limits and data validation. Kinesis Video Streams is for media streams, and Route 53 Resolver handles DNS queries.
Question 3
A Glue ETL job reads a CSV file in S3 with inconsistent column types across partitions. The team wants the job to fail fast on schema drift and to keep a record of each run. Which option best supports this?
- AUse AWS Glue job bookmarks with a schema check step and CloudWatch logs for run tracking
- BConvert the job to a Python shell job with no logging and let pandas infer types at read time
- CDisable job bookmarks and set the job to ignore errors on schema mismatch
- DStore the CSV as an Excel workbook in a separate S3 prefix for each partition
Show answer and explanationHide answer
Correct answer: AGlue job bookmarks track processed data for incremental loads, and explicit schema checks plus CloudWatch logs give a traceable run history. Ignoring errors hides drift, and removing logging or changing the file format does not solve the problem.
Question 4
A Spark job on Amazon EMR reads a large Parquet dataset from S3 and performs a join that is slow because one key is heavily skewed. Which approach most directly reduces the skew effect?
- AIncrease the driver memory to the maximum instance size available in the cluster
- BSalt the skewed key or enable adaptive query execution so Spark splits the oversized partitions
- CConvert the data to a single large CSV file with gzip compression and a header row
- DRun the job on one core of a single executor with dynamic allocation off and one partition
Show answer and explanationHide answer
Correct answer: BSalting spreads a hot key across several partitions, and adaptive query execution can split skewed partitions at runtime in Spark SQL. Bigger drivers do not fix executor-side skew, and single-file or single-core layouts remove parallelism.
Question 5
An AWS Glue Studio job must apply a small set of transformations to JSON records and then write Parquet files partitioned by date. The team prefers a visual tool and does not want to write Spark code. What should they use?
- AAmazon Redshift Spectrum with a manual CSV export staged in S3 as one file
- BAWS Glue Studio visual ETL with a partition key on the date column
- CAWS Lambda with a single 15-minute invocation each day
- DAmazon QuickSight dataset refresh in SPICE each night
Show answer and explanationHide answer
Correct answer: BGlue Studio visual jobs let engineers define transforms and output formats without writing Spark code, and partition keys produce date-based S3 prefixes. The other services are query, compute or visualization tools rather than an ETL designer.
Question 6
A stream of IoT sensor readings must be aggregated into five-minute totals per device before loading into a warehouse. The aggregation must run continuously on the stream. Which service is the best fit?
- AAmazon Managed Service for Apache Flink
- BAmazon Athena with a nightly CTAS backfill
- CAWS Backup plans with a nightly backup rule
- DAmazon SNS topic with a message filter policy
Show answer and explanationHide answer
Correct answer: AAmazon Managed Service for Apache Flink supports windowed aggregations over streaming data, such as five-minute tumbling windows per key. Athena works on stored data in batch, and AWS Backup and SNS do not aggregate streams.
Question 7
Athena scans too much data for a daily CSV extract in S3. Which two changes reduce the bytes scanned and the query cost? (Choose two.)
- AKeep the data as CSV and add more files of one row each
- BConvert the files to Parquet and partition them by a commonly filtered column
- CMove the files to S3 Glacier Instant Retrieval for every query
- DUse a single 10 GB CSV file per day
- ECompress the Parquet files with Snappy so fewer bytes are read
Show answer and explanationHide answer
Correct answer: B, EParquet stores data by column, so Athena reads only the columns a query needs, and partitioning lets it skip prefixes that do not match the filter. Snappy compression further reduces the bytes read. Small CSV files and one large CSV both increase scanned data, and Glacier retrieval is slow and costly for interactive queries.
Question 8
A team ingests JSON events from Amazon MSK into an S3 data lake every five minutes. Which two design choices reduce duplicate records if the producer retries? (Choose two.)
- AInclude a unique event identifier and deduplicate on it during the load
- BDisable acknowledgements on the producer so duplicates cannot occur
- CWrite each event as its own S3 object with a random name
- DUse an idempotent write key such as event ID in the target table merge
- EIncrease the number of partitions in the topic to four thousand
Show answer and explanationHide answer
Correct answer: A, DA unique event identifier allows deduplication, and a merge keyed on that identifier makes repeated loads idempotent. Turning off acknowledgements risks data loss, and random object names or extra partitions do not prevent duplicates.
Data Store Management (8 questions)
Question 9
A data lake on S3 is queried by Athena, Redshift Spectrum and EMR. Analysts need a single place to define table schemas and partitions that all three engines share. Which service should the team use?
- AAWS Systems Manager Parameter Store
- BAWS Glue Data Catalog
- CAmazon ElastiCache for Redis
- DAmazon RDS parameter groups
Show answer and explanationHide answer
Correct answer: BThe Glue Data Catalog is a shared Hive-compatible metadata store used by Athena, Redshift Spectrum and EMR. RDS parameter groups, ElastiCache and Parameter Store do not hold table metadata for these engines.
Question 10
A team needs to store time-series telemetry with a partition key of device ID and a sort key of timestamp, and reads must return the last 24 hours for one device with single-digit millisecond latency. Which service fits best?
- AAmazon DynamoDB with a composite primary key
- BAmazon Redshift with a distribution style of ALL
- CAmazon S3 with Glacier Deep Archive
- DAmazon Aurora Serverless v1 with no indexes
Show answer and explanationHide answer
Correct answer: ADynamoDB with a partition key and sort key supports efficient range queries on time for one device with consistent low latency. Redshift is for analytic scans, and Glacier Deep Archive has retrieval delays unsuitable for live reads.
Question 11
An Amazon Redshift cluster has a large fact table joined frequently with a small dimension table. Which distribution style reduces data movement during joins?
- AEVEN distribution for both the fact table and the dimension table, spreading rows evenly
- BNo distribution key, letting the cluster choose randomly at each query execution phase
- CKEY distribution on a timestamp column with high cardinality for the dimension table
- DALL distribution for the small dimension table and a key distribution on the fact table join column
Show answer and explanationHide answer
Correct answer: DDistributing the small dimension to all nodes and the fact table by its join key keeps joins local to each node, which avoids broadcast or redistribution at query time. Other styles force data movement during the join.
Question 12
A team on Amazon Redshift wants to query data stored in S3 in the same SQL statement as warehouse tables, without loading the S3 data. Which feature provides this?
- ARedshift data sharing with another cluster in the same AWS account
- BRedshift Serverless snapshot restore into a new namespace for DR
- CA Redshift materialized view that loads incrementally from SFTP
- DRedshift Spectrum with an external schema that points at the Glue Data Catalog
Show answer and explanationHide answer
Correct answer: DRedshift Spectrum queries S3 data through external tables defined in an external schema, which can use the Glue Data Catalog. Snapshots and data sharing are for different purposes, and SFTP is not a Spectrum source.
Question 13
A table in Amazon Aurora PostgreSQL is used mostly for analytics, and the team wants to replicate its changes to a data lake in near real time with minimal load on the source. Which AWS capability is designed for this?
- ASending SELECT * results from the Aurora table to an SNS topic every five minutes
- BManual nightly pg_dump of the full Aurora cluster to a laptop over a home Wi-Fi network
- CCreating a read replica in another region for ad hoc reporting queries
- DAWS Database Migration Service change data capture from the source to S3
Show answer and explanationHide answer
Correct answer: DAWS DMS can capture ongoing changes from the source and deliver them to S3 with low impact on the database. Nightly dumps are not near real time, and read replicas do not produce a data lake feed.
Question 14
Which two actions improve query performance and cost for a table stored in Amazon S3 and queried through Athena? (Choose two.)
- APartition the data by a column that appears in most WHERE clauses
- BStore the data as many small uncompressed JSON lines with no partitions
- CCompress the data with a splittable codec such as Snappy in Parquet
- DDisable the Glue Data Catalog so Athena reads files directly
- EUse a separate S3 bucket for every single row
Show answer and explanationHide answer
Correct answer: A, CPartitioning on a commonly filtered column reduces scanned data, and compressed columnar formats such as Parquet with Snappy cut bytes read. Many small uncompressed files, disabling the catalog, and one bucket per row all increase cost or complexity.
Question 15
A DynamoDB table receives bursts of writes once a day for an hour and near zero traffic otherwise. The team wants to pay per request without capacity planning. Which billing mode should they choose?
- AReserved capacity for the entire year
- BProvisioned capacity with a fixed 10,000 writes per second
- COn-demand capacity mode
- DGlobal tables with manual scaling
Show answer and explanationHide answer
Correct answer: COn-demand capacity mode charges per request and scales to the traffic without capacity planning, which fits a short daily burst. Fixed provisioning pays for idle capacity, and reserved capacity is a billing commitment for steady use.
Question 16
A DynamoDB table is keyed by order ID, but a support app must look up orders by customer email. The team wants this without scanning the whole table. What should they add?
- AA global secondary index with email as the partition key
- BA larger provisioned write capacity on the table
- CA DynamoDB Streams shard iterator to read changes
- DA table scan with a filter expression every time
Show answer and explanationHide answer
Correct answer: AA global secondary index with the email as the partition key supports efficient queries on that alternate access pattern. More write capacity does not change the key design, and scans read the whole table.
Data Operations and Support (7 questions)
Question 17
A nightly Glue job fails intermittently. The on-call engineer needs a central place to view job logs, metrics such as duration and failures, and to alert when the job fails. Which combination provides this?
- AManually reading the Glue console job run history once a week and checking the email inbox
- BDisabling Glue job logging and CloudWatch metric publishing to save log storage cost
- CCopying logs to a text file on a local workstation by hand over a VPN and then emailing it to a peer nightly
- DCloudWatch Logs and metrics with a CloudWatch alarm on the job failure metric and an SNS notification
Show answer and explanationHide answer
Correct answer: DGlue writes logs and metrics to CloudWatch, and an alarm on failure metrics can notify through SNS. Manual checks and disabling logs delay detection and remove the evidence needed for troubleshooting.
Question 18
A data pipeline sends events to an SQS queue, and some messages repeatedly fail processing. The team wants failed messages isolated after a set number of attempts so the main queue keeps flowing. What should they configure?
- AA dead-letter queue with a maximum receive count on the source queue
- BA visibility timeout of 12 hours set on the source queue
- CA FIFO queue with no deduplication ID set on each message
- DMessage retention period of 60 seconds on the source queue so messages expire
Show answer and explanationHide answer
Correct answer: AA redrive policy with a dead-letter queue moves messages that exceed the maximum receive count, so poison messages do not block processing. Longer visibility timeouts slow retries, and FIFO deduplication does not isolate failing messages.
Question 19
A team must build a repeatable data quality check that flags null values in a key column before a Glue job publishes data. Which AWS service provides rule-based data quality checks for datasets?
- AAWS Glue Data Quality
- BAmazon Macie
- CAWS Config conformance pack
- DAWS Trusted Advisor
Show answer and explanationHide answer
Correct answer: AAWS Glue Data Quality evaluates datasets against rule sets such as completeness and uniqueness checks, and can stop or flag pipelines. Macie finds sensitive data, Config checks resource settings, and Trusted Advisor gives account recommendations.
Question 20
An Airflow DAG on Amazon MWAA fails when an upstream dataset arrives late. The team wants the DAG to wait for the file before continuing without polling in a loop. Which operator pattern is appropriate?
- AA BashOperator that runs sleep 86400 in a loop on a worker slot while polling S3
- BA sensor that waits for the S3 key to exist with a timeout and poke interval
- CA PythonOperator with no retries that exits after a single failed attempt in the DAG
- DA cleanup task that deletes the DAG file from the dags folder after one failure of the sensor
Show answer and explanationHide answer
Correct answer: BAn S3 key sensor waits for the object and fails only after its timeout, which handles late arrivals cleanly. Long sleeps waste worker slots, and removing retries or the DAG does not fix the dependency.
Question 21
A data pipeline written as a Step Functions state machine calls a Glue job. A transient throttling error sometimes occurs, and the team wants the step retried with backoff, and a failure path that sends a notification. Which state features provide this?
- AA Choice state that ignores errors and passes Glue job errors straight through
- BA Pass state with no error handling that copies its input to output unchanged
- CRetry with backoff and Catch to route errors to a notification step
- DA Wait state of one year before the Glue task reruns once
Show answer and explanationHide answer
Correct answer: CRetry blocks define backoff for transient errors, and Catch routes failures to another state such as an SNS notification. Pass and Choice states do not handle errors, and a long Wait does not retry.
Question 22
A data team wants an email when any AWS Glue job in the account changes to FAILED state. Which combination provides this with the least custom code?
- AAn EventBridge rule matching the Glue job state change event with an SNS topic target
- BA cron script that polls every job every minute using the AWS CLI and diffing states in a loop
- CA CloudTrail trail with no notification that logs Glue API calls for audit
- DA manual check of the Glue console each morning and a person reviewing job logs
Show answer and explanationHide answer
Correct answer: AGlue publishes job state change events to EventBridge, and a rule can match FAILED states and send to an SNS topic for email. Polling and manual checks add work, and a trail records API calls without alerting.
Question 23
A company wants to know which user or role read a specific object in an S3 data lake, at the object level, for an audit. Which CloudTrail feature must be enabled?
- AManagement events only
- BS3 data events for the bucket
- CVPC Flow Logs
- DAWS Config rules for the bucket name
Show answer and explanationHide answer
Correct answer: BObject-level read activity is recorded as S3 data events in CloudTrail, which are not logged by default. Management events cover control plane actions, VPC Flow Logs record network traffic, and AWS Config tracks configuration state.
Data Security and Governance (7 questions)
Question 24
A team stores personal data in S3 and must find any objects that contain email addresses or credit card numbers and report them. Which service should it use?
- AAmazon Inspector
- BAmazon Macie
- CAWS Shield Advanced
- DAmazon GuardDuty
Show answer and explanationHide answer
Correct answer: BAmazon Macie uses machine learning and pattern matching to discover sensitive data such as personal identifiers in S3. Inspector scans workloads for vulnerabilities, Shield protects against DDoS, and GuardDuty detects threats from activity logs.
Question 25
A data lake in Lake Formation must give an analyst access to only the customer_name and region columns of a table, and no other columns. Which mechanism applies?
- AAn S3 bucket ACL granting read on the object and its prefix in the raw zone
- BAn IAM policy that allows s3:GetObject on the data lake
- CA Lake Formation column-level permission on the Data Catalog table
- DA Redshift user password stored in AWS Secrets Manager
Show answer and explanationHide answer
Correct answer: CLake Formation grants can be scoped to specific columns of a catalog table, which limits what engines such as Athena can read. S3 ACLs work at object level, and IAM S3 policies cannot enforce column-level restrictions.
Question 26
A company must encrypt its S3 data lake with keys that it controls, and it needs an audit trail of every use of those keys. Which option meets these needs?
- ASSE-S3 server-side encryption with no key management and default bucket keys at rest
- BStoring the plaintext key in an S3 object tag on each encrypted file for quick review
- CClient-side encryption with the key in a public GitHub repo and a shared team wiki
- DSSE-KMS with a customer managed key, with CloudTrail logging key usage
Show answer and explanationHide answer
Correct answer: DSSE-KMS with a customer managed key gives control over key policy and rotation, and KMS API calls are recorded in CloudTrail. SSE-S3 uses AWS-managed keys, and storing keys in public places or tags is unsafe.
Question 27
A data engineer needs an analyst to query a Redshift table with customer emails masked for everyone except a privileged group. Which Redshift capability enforces this at query time?
- ADynamic data masking policies attached to the column for each role
- BA DROP COLUMN statement on the table for the email column before reload
- CExporting the table to a CSV on a shared drive and emailing the file to staff
- DDisabling SELECT for non-admin users on the customers table pending review
Show answer and explanationHide answer
Correct answer: ARedshift dynamic data masking applies masking rules by role at query time, so the underlying value stays unchanged. Dropping the column or blocking all reads removes access entirely, and exporting copies the data into an uncontrolled place.
Question 28
A data platform must restrict access so that engineers can read pipeline outputs but cannot change production data directly. Which two controls support this? (Choose two.)
- AAn IAM role for engineers with read-only access to the production buckets
- BA bucket policy that allows s3:* to the entire account
- CS3 Object Lock in governance mode on the output prefix with a retention period
- DSharing the root account password with the team
- ERemoving CloudTrail so that actions are not visible
Show answer and explanationHide answer
Correct answer: A, CA read-only IAM role enforces least privilege for engineers, and Object Lock prevents overwriting or deleting protected objects during retention. Broad bucket permissions, shared root credentials and disabling audit trails all weaken governance.
Question 29
A bucket containing sensitive data must accept requests only through a specific VPC endpoint. Which IAM policy condition enforces this?
- Aaws:MultiFactorAuthPresent set to true in a policy condition, which requires callers to use MFA for reads
- Baws:CurrentTime after midnight in a Deny statement, so reads fail outside a nightly maintenance window
- Caws:PrincipalTag set to finance on the role, so finance users can read it
- Daws:SourceVpce set to the endpoint ID in a bucket policy with a Deny for other requests
Show answer and explanationHide answer
Correct answer: Daws:SourceVpce identifies the VPC endpoint a request came through, and a bucket policy that denies requests without that endpoint enforces the path. Time, MFA and principal tags do not limit the network path.
Question 30
A data pipeline connects to an RDS database, and the database password must be rotated automatically every 30 days without changing application code. Which service should hold the credential?
- AA Lambda environment variable with the password in plain text
- BAWS Secrets Manager with managed rotation for the RDS database
- CA DynamoDB table with the password in an unencrypted attribute
- DA Git repository secret file
Show answer and explanationHide answer
Correct answer: BSecrets Manager stores the secret and can rotate database credentials on a schedule, and applications fetch the current value at runtime. Plain text variables, repositories and unencrypted tables do not rotate or protect secrets properly.
Want more DEA-C01 questions?
The full bank has 100 questions with answers and explanations, as a PDF, an online practice exam, or both.
Both formats together. The best value.
Instant access after payment, with 90 days of updates. Checkout is on our store, AIExamCerts.