Courseiva

CCNA Data Operations and Support Questions

75 of 360 questions · Page 1/5 · Data Operations and Support · Answers revealed

1
MCQmedium

A company uses AWS DMS to migrate an on-premises Oracle database to Amazon Aurora PostgreSQL. The migration is ongoing with continuous replication. The data engineer notices that the target Aurora database has a higher lag than expected. Which action would most likely reduce the lag?

A.Increase the size of the S3 bucket used for staging
B.Increase the number of parallel tasks in the DMS task settings
C.Enable Batch Optimized Apply on the DMS task
D.Disable validation of data on the target
AnswerB

More parallel tasks improve apply throughput.

Why this answer

Increasing the number of parallel tasks in a DMS task improves throughput, allowing data to be loaded faster to the target and reducing replication lag. Option A is incorrect because the S3 bucket size does not affect DMS replication performance. Option C is incorrect: while Batch Optimized Apply can reduce apply overhead on certain targets like PostgreSQL, increasing parallel tasks is a more direct and effective way to address lag.

Option D is incorrect because disabling validation reduces data integrity checks and may provide only minor lag reduction, but it is not the recommended primary action.

2
MCQmedium

Refer to the exhibit. This log snippet is from a failed AWS Glue job. The job processes a large dataset in memory. What is the MOST likely cause of the OutOfMemoryError?

A.The Glue job is running with insufficient DPUs or worker type.
B.The input data is in an unsupported file format.
C.The job is attempting to join two tables with mismatched keys.
D.The job has too many partitions.
AnswerA

Insufficient resources cause out-of-memory.

Why this answer

An OutOfMemoryError in AWS Glue typically occurs when the allocated DPUs or worker type are insufficient for the in-memory processing of a large dataset. Option B is incorrect because unsupported file formats cause parsing errors, not memory errors. Option C is incorrect because mismatched keys in a join cause data skew or incorrect results, but not directly an OutOfMemoryError.

Option D is incorrect because too many partitions usually lead to small file overhead, not heap space exhaustion.

3
MCQeasy

A data engineer is monitoring an Amazon Redshift cluster and notices that the disk space usage is increasing rapidly. The engineer wants to reclaim space from deleted rows. Which command should the engineer run?

A.VACUUM
B.ANALYZE
C.UNLOAD
D.COPY
AnswerA

VACUUM reclaims space from deleted rows.

Why this answer

The VACUUM command in Amazon Redshift reclaims disk space from deleted rows and reorganizes the data to improve query performance. Option B is wrong because ANALYZE updates statistics for the query optimizer, not reclaims space. Option C is wrong because UNLOAD exports data from the cluster to Amazon S3.

Option D is wrong because COPY loads data from files into the cluster.

4
Multi-Selectmedium

A data engineer is setting up a Redshift cluster and needs to ensure high availability. Which TWO actions should be taken?

Select 2 answers
A.Enable concurrency scaling.
B.Configure cross-region snapshot copy.
C.Enable automatic replication across Availability Zones.
D.Use a single-node cluster to reduce complexity.
E.Deploy a multi-node cluster with at least two compute nodes.
AnswersB, E

Cross-region snapshot copy provides disaster recovery by replicating snapshots to another region, ensuring data availability in case of a regional outage. This is a correct action for high availability.

Why this answer

For high availability in Amazon Redshift, you need to protect against data loss and downtime. Option B (configure cross-region snapshot copy) ensures that snapshots are replicated to another region, providing disaster recovery and high availability in case of a regional outage. Option E (deploy a multi-node cluster with at least two compute nodes) provides node-level redundancy; if one node fails, the workload can be redistributed.

Option C (enable automatic replication across Availability Zones) is not a feature of Amazon Redshift; Redshift does not support automatic cross-AZ replication for compute nodes. Option A (concurrency scaling) improves query concurrency, not availability. Option D (single-node cluster) offers no redundancy.

Exam trap

Candidates often assume that cross-AZ replication is available for Redshift, but it is not. The correct HA measures are cross-region snapshot copy and multi-node clusters.

5
MCQhard

A company runs an Amazon DynamoDB table with on-demand capacity. A new reporting application performs frequent Scan operations on the table, causing occasional 'ProvisionedThroughputExceededException' errors. The operations team needs to resolve this with minimal cost. What should they do?

A.Increase the table's maximum read capacity by requesting a limit increase from AWS Support.
B.Switch the table to provisioned capacity and increase the read capacity units.
C.Enable DynamoDB Accelerator (DAX) to cache the Scan results.
D.Create a global secondary index (GSI) on the attributes used in the reporting queries.
AnswerD

GSI enables efficient queries, reducing Scans and avoiding partition-level throttling.

Why this answer

Creating a global secondary index (GSI) on the attributes used in the reporting queries allows the reporting application to use Query operations instead of expensive Scan operations. This reduces the read capacity consumption and avoids partition-level throttling, which is the cause of the 'ProvisionedThroughputExceededException' errors. On-demand tables have per-partition throughput limits, and frequent Scans can exceed those limits.

Option A is incorrect because increasing the maximum read capacity via AWS Support is not applicable to on-demand tables; on-demand scaling is automatic but per-partition limits still apply. Option B is incorrect because switching to provisioned capacity would require careful capacity planning and would likely increase costs compared to using a GSI. Option C is incorrect because DAX can cache data and reduce read load, but it does not eliminate the inefficiency of Scan operations; the root cause is the Scan itself, which can be avoided by using a GSI to enable efficient queries.

6
MCQmedium

A company is using Amazon Redshift for its data warehouse. A data engineer notices that COPY commands from S3 are failing intermittently with 'S3ServiceException: Access Denied'. The IAM role used by Redshift has the correct permissions. What is the MOST likely cause?

A.The IAM role is not attached to the Redshift cluster.
B.The S3 bucket uses SSE-KMS encryption and the role lacks kms:Decrypt.
C.The IAM role name contains a typo in the COPY command.
D.The S3 bucket policy denies access to the Redshift cluster's IP addresses.
AnswerD

Bucket policies can override IAM permissions and cause Access Denied.

Why this answer

S3 bucket policies may deny access even if the role allows it. Option A is wrong because the role is already attached. Option B is wrong because encryption would cause different errors.

Option C is wrong because if the role exists, it should work; the issue is likely external.

7
MCQhard

A company uses Amazon Athena to query data in an S3 bucket. A data engineer notices that a query fails with the error: 'HIVE_CANNOT_OPEN_SPLIT: Error opening Hive split s3://bucket/path/file.parquet (Path does not exist)'. However, the file exists in S3. What is the most likely cause?

A.The file was uploaded using S3 multipart upload and is incomplete.
B.The table's metadata in the Glue Data Catalog is outdated.
C.The S3 bucket has a bucket policy that denies access to the Athena principal.
D.Another process deleted the file after Athena listed the files but before reading.
AnswerD

Eventual consistency for deletions can cause this.

Why this answer

The error 'Path does not exist' occurs when Athena has already listed the files in the table's location and then tries to read a specific file that was deleted after the listing. This is a race condition caused by concurrent operations. Option A is incorrect because an incomplete multipart upload would not cause a path-not-found error; the file would simply not be visible or be incomplete.

Option B is incorrect because outdated Glue metadata would cause schema mismatches or table not found errors, not a missing file path. Option C is incorrect because a bucket policy denying access would result in an Access Denied error, not 'Path does not exist'.

8
Multi-Selectmedium

A data engineer is troubleshooting a slow Amazon Redshift query. The query plan shows a large number of 'DS_DIST_ALL_INNER' and 'DS_BCAST_INNER' operations. Which TWO actions would likely improve query performance?

Select 2 answers
A.Set DISTSTYLE to ALL for both tables.
B.Change the distribution style of large tables to KEY on the join column.
C.Increase the number of slices by resizing the cluster.
D.Define SORTKEYs on the join columns.
E.Drop and recreate the tables with the same DDL.
AnswersB, C

KEY distribution collocates data on the same slice, reducing redistribution.

Why this answer

Using DISTSTYLE KEY on the join column for large tables colocates data with the same key on the same slice, reducing the need for data redistribution operations like DS_DIST_ALL_INNER and DS_BCAST_INNER. Option C is correct because increasing the number of slices by resizing the cluster distributes data across more compute nodes, allowing more parallelism and reducing the relative impact of data redistribution. Option A is incorrect because setting DISTSTYLE to ALL on both tables would broadcast each table to all nodes, increasing data movement and likely worsening performance.

Option D is incorrect because SORTKEYs optimize range-restricted scans and sorting, not join data movement. Option E is incorrect because dropping and recreating tables with the same DDL does not change distribution or sort strategies, so it does not address the root cause of excessive redistribution.

9
MCQhard

A company runs a data pipeline that ingests streaming data via Amazon Kinesis Data Streams, processes it with an AWS Lambda function, and stores results in Amazon DynamoDB. The Lambda function sometimes fails due to 'ProvisionedThroughputExceededException' on the DynamoDB table. Which combination of steps should a data engineer take to resolve this issue?

A.Enable DynamoDB auto scaling and configure a dead-letter queue for the Lambda function.
B.Increase the Lambda function timeout and enable batch windows.
C.Increase the number of Kinesis shards to reduce Lambda invocations.
D.Increase Lambda reserved concurrency and disable retries.
AnswerA

Auto scaling adjusts throughput; DLQ captures failed records for reprocessing.

Why this answer

Enabling DynamoDB auto scaling allows the table to adjust its provisioned throughput based on actual traffic patterns, which helps prevent 'ProvisionedThroughputExceededException' when the Lambda function writes to DynamoDB. Additionally, configuring a dead-letter queue (DLQ) for the Lambda function ensures that records that fail due to throttling are captured and can be reprocessed later, preventing data loss. Option B is incorrect because increasing the Lambda function timeout does not address DynamoDB throughput limits.

Option C is incorrect because increasing the number of Kinesis shards may increase the rate of Lambda invocations, potentially worsening the throttling issue. Option D is incorrect because increasing Lambda reserved concurrency could allow more concurrent invocations, which may exacerbate throughput exceedance, and disabling retries would cause data loss.

10
MCQeasy

A company is using Amazon S3 as a data lake. Data is ingested hourly from multiple sources. The data engineer needs to ensure that once an object is written to S3, it cannot be overwritten or deleted for 30 days. Which S3 feature should be used?

A.Use S3 Lifecycle policies to transition objects to Glacier after 30 days.
B.Enable S3 Versioning and MFA Delete.
C.Configure a bucket policy that denies s3:DeleteObject for all principals.
D.Enable S3 Object Lock with a retention period of 30 days.
AnswerD

Object Lock enforces write-once-read-many (WORM) protection.

Why this answer

S3 Object Lock with a retention period of 30 days enforces a write-once-read-many (WORM) policy that prevents objects from being overwritten or deleted during the retention period. This meets the requirement exactly, as it applies to both new and existing objects when enabled on a versioning-enabled bucket.

Exam trap

The trap here is that candidates confuse S3 Versioning with MFA Delete (which only protects version deletions, not overwrites) as a sufficient solution, overlooking that Object Lock is the only feature that enforces a time-based immutability lock against both overwrites and deletions.

How to eliminate wrong answers

Option A is wrong because S3 Lifecycle policies only automate storage class transitions (e.g., to Glacier) after a specified period; they do not prevent overwrites or deletions during that time. Option B is wrong because S3 Versioning with MFA Delete protects against accidental deletion of object versions but does not prevent overwrites of the current version (it creates a new version instead). Option C is wrong because a bucket policy denying s3:DeleteObject for all principals can be overridden by explicit allow policies or root account actions, and it does not prevent overwrites (which are PUT operations), nor does it enforce a time-based retention lock.

11
MCQmedium

A data engineer is troubleshooting a nightly ETL job that extracts data from an Amazon RDS MySQL instance and loads it into an Amazon S3 bucket in Parquet format. The job runs on an Amazon EMR cluster and has been failing with the error 'Access Denied' when writing to S3. The IAM role attached to the EMR cluster has permissions for S3 PutObject. What is the MOST likely cause?

A.The S3 bucket uses SSE-KMS encryption and the EMR role lacks kms:GenerateDataKey permission.
B.The S3 bucket has a Lifecycle rule that expires objects too quickly.
C.The EMR cluster was terminated before the write operation completed.
D.The S3 bucket policy denies access to the EMR cluster's IAM role.
AnswerD

S3 bucket policies can explicitly deny access, overriding IAM allow.

Why this answer

S3 bucket policies can override IAM permissions; if the bucket policy denies access from the EMR cluster, the write will fail even with IAM allow. Option A is wrong because KMS permissions are needed only if the bucket uses SSE-KMS, which is not indicated. Option B is wrong because S3 Lifecycle rules do not affect write permissions.

Option C is wrong because EMR cluster termination would cause a different error.

12
MCQeasy

Refer to the exhibit. A data engineer runs this CLI command to check an object's metadata. The engineer wants to verify if the object is eligible for lifecycle transition to S3 Glacier based on its age. What additional information is needed?

A.The current date
B.The ETag value
C.The metadata archive flag
D.The ContentLength value
AnswerA

The object age is based on LastModified and current date.

Why this answer

The CLI command output provides the last modified date of the object. To determine if the object is eligible for lifecycle transition to S3 Glacier based on its age, the engineer needs the current date to compute the object's age. The age is calculated as the difference between the current date and the last modified date.

Option A is correct because without the current date, the engineer cannot verify the age condition. Option B (ETag) is used for integrity checking and not for age calculations. Option C (metadata archive flag) is not relevant; the archive flag indicates storage class but not age.

Option D (ContentLength) is the object size and does not affect lifecycle age eligibility.

13
MCQmedium

A company uses Amazon DynamoDB as a data store for a real-time dashboard application. The application performs point lookups and range queries on a table that has a partition key and sort key. The table uses on-demand capacity mode. Recently, the application's response time has increased, and CloudWatch metrics show high 'ThrottledRequests' for the table. The application uses the AWS SDK with default retry settings. The data access pattern is read-heavy with occasional spikes. What is the most effective way to reduce throttling?

A.Switch the table to provisioned capacity and set the read capacity units to a high value.
B.Enable DynamoDB Accelerator (DAX) to cache frequently read items.
C.Increase the read capacity units to a higher value.
D.Implement exponential backoff with jitter in the application code.
AnswerD

Retries with backoff reduce the rate of requests during throttling, allowing the table to recover.

Why this answer

DynamoDB on-demand mode can throttle requests when traffic exceeds the table's previous peak by more than double. Implementing exponential backoff with jitter in the application code allows retries to spread out and succeed without overwhelming the table. Option A is incorrect because switching to provisioned capacity requires accurate capacity planning and may still throttle during unexpected spikes.

Option B is incorrect because DAX caches frequently read items, reducing read load, but it does not directly address throttling caused by exceeding the table's throughput limits; it also adds cost and complexity. Option C is incorrect because increasing read capacity units applies only to provisioned capacity mode, not on-demand.

14
MCQmedium

A data engineer is responsible for a real-time data pipeline that ingests clickstream data from a website into Amazon Kinesis Data Streams, then processed by an AWS Lambda function that writes to an Amazon DynamoDB table for user session tracking. The Lambda function is idempotent and uses the DynamoDB PutItem API with a condition expression to avoid overwriting existing records. Over the past week, the engineer has observed an increase in DynamoDB write throttling (ProvisionedThroughputExceededException) during peak traffic hours. The DynamoDB table has on-demand capacity. The engineer checks the Lambda function's reserved concurrency and finds it set to 1000. The Kinesis stream has 10 shards. The Lambda function's batch size is set to 100. The engineer suspects that the retry behavior is causing duplicate writes and throttling. Which change should the engineer make to reduce throttling?

A.Increase the number of Kinesis shards to 20 to distribute the load.
B.Decrease the Lambda batch size to 10 to reduce the number of records processed per invocation.
C.Decrease the Lambda reserved concurrency to 500 to limit the number of concurrent invocations.
D.Use a DynamoDB Stream to trigger a second Lambda function that writes to the table.
AnswerB

Smaller batches reduce the number of concurrent writes to DynamoDB, lowering throttling.

Why this answer

On-demand DynamoDB can scale, but it has a per-partition throughput limit. Reducing the Lambda batch size reduces the number of concurrent writes per shard, decreasing the chance of hitting partition limits. Option A is wrong because increasing shards would increase concurrency, worsening throttling.

Option C is wrong because decreasing reserved concurrency could cause Lambda throttling but not DynamoDB throttling. Option D is wrong because using a DynamoDB stream adds complexity and does not directly reduce write throttling.

15
Multi-Selectmedium

A company uses Amazon DynamoDB as the primary data store for a web application. The application experiences high read latency. Which TWO actions can improve read performance?

Select 2 answers
A.Add a Global Secondary Index (GSI)
B.Enable DynamoDB Global Tables
C.Enable DynamoDB Accelerator (DAX)
D.Enable DynamoDB Streams
E.Increase the write capacity units
AnswersB, C

Global Tables allow reads from local regions, reducing latency.

Why this answer

(Enable DynamoDB Global Tables) is correct because Global Tables provide local read replicas in multiple AWS Regions, reducing read latency for users accessing from different geographic locations. Option C (Enable DynamoDB Accelerator (DAX)) is correct because DAX is an in-memory cache that significantly reduces read latency for frequently accessed items. Option A is incorrect because adding a Global Secondary Index (GSI) improves query flexibility but does not directly reduce read latency for primary key lookups.

Option D is incorrect because DynamoDB Streams capture changes to the table for event-driven processing, not for reducing read latency. Option E is incorrect because increasing write capacity units only affects write throughput, not read performance.

16
MCQmedium

A company uses AWS Lake Formation to manage data lake permissions. A data analyst cannot query a table in Athena, although the table appears in the catalog. The analyst has IAM permissions to run Athena. What is the MOST likely cause?

A.The Glue Data Catalog does not have the table registered.
B.The S3 bucket policy denies access to the analyst's IAM role.
C.The analyst lacks Lake Formation permissions on the table.
D.The Athena workgroup is not configured with the correct output location.
AnswerC

Lake Formation grants fine-grained permissions; the analyst needs SELECT.

Why this answer

Lake Formation permissions are separate from IAM; even if the analyst has IAM permissions to run Athena, they also need specific Lake Formation permissions (e.g., SELECT) on the table to query it. The table appears in the catalog because the analyst has DESCRIBE permission on the database or table, but querying requires additional data access permissions. Option A is incorrect because the table appears in the catalog, so it is registered.

Option B is incorrect because the S3 bucket policy might allow access, but Lake Formation can override it. Option D is incorrect because the workgroup output location affects where query results are stored, not the ability to query a specific table.

17
MCQmedium

A company runs a data pipeline that uses AWS Glue to process data from an Amazon DynamoDB table and write results to Amazon S3. The Glue job runs on a schedule every hour. Recently, the job started failing intermittently with 'ProvisionedThroughputExceededException' errors from DynamoDB. What is the BEST solution?

A.Use DynamoDB Accelerator (DAX) to reduce read latency.
B.Change the Glue job schedule to run every 2 hours.
C.Implement exponential backoff and retries in the Glue job for DynamoDB operations.
D.Increase the read capacity units of the DynamoDB table.
AnswerC

Exponential backoff handles throttling gracefully.

Why this answer

Implementing exponential backoff and retries in the Glue job is a best practice to handle transient throttling errors from DynamoDB such as ProvisionedThroughputExceededException. This approach allows the job to automatically retry failed operations with increasing delays, reducing the likelihood of sustained failures without requiring changes to the DynamoDB table's provisioned capacity. Option A is incorrect because DynamoDB Accelerator (DAX) is an in-memory cache that can reduce read traffic for cached items, but it does not guarantee elimination of ProvisionedThroughputExceeded exceptions, especially for read operations that are not cached or when the underlying issue is read throughput limits.

Option B is incorrect because running the job less frequently does not address the intermittent throttling; the job may still encounter the same error when it runs. Option D is incorrect because, although increasing read capacity units could directly address read throttling, it is not the most cost-effective or best practice for dealing with occasional throttling. The recommended approach is to first implement exponential backoff and retries, only increasing provisioned capacity if throttling persists.

Moreover, the ProvisionedThroughputExceededException in this scenario is due to read throughput limits, and increasing write capacity would not help.

18
MCQmedium

A company uses Amazon DynamoDB as a source for an AWS Glue job. The job reads a large table using a DynamoDB export to S3 feature. The job is failing with 'ThrottlingException' from DynamoDB. What should the data engineer do to resolve this issue WITHOUT changing the job's logic?

A.Use DynamoDB Streams to capture changes and process them incrementally
B.Reduce the number of DynamoDB read segments in the Glue job
C.Use the DynamoDB export to S3 feature and read the exported data from S3
D.Increase the read capacity units (RCU) of the DynamoDB table
AnswerC

Export to S3 reads from the table without consuming RCU, avoiding throttling entirely.

Why this answer

The DynamoDB export to S3 feature creates a point-in-time snapshot of the table data in S3 without consuming any read capacity units (RCUs) from the DynamoDB table. By reading the exported data from S3 instead of directly scanning the DynamoDB table, the Glue job avoids triggering ThrottlingException entirely, as the export operation uses the table's backup and restore mechanism, not the read path. This resolves the issue without altering the job's logic, as the job can be reconfigured to read from the S3 export location.

Exam trap

The trap here is that candidates often assume the only way to resolve DynamoDB throttling is to increase RCUs (Option D) or reduce parallelism (Option B), missing the fact that the export-to-S3 feature completely eliminates the need to read from DynamoDB during the Glue job, which is the most efficient and cost-effective solution without altering job logic.

How to eliminate wrong answers

Option A is wrong because using DynamoDB Streams to capture changes and process them incrementally changes the job's logic from a full scan to a streaming/incremental approach, which violates the requirement to not change the job's logic; additionally, streams consume read capacity and could still cause throttling if not properly managed. Option B is wrong because reducing the number of DynamoDB read segments in the Glue job would decrease parallelism and potentially reduce the throttling, but it does not eliminate the root cause—the job still reads directly from DynamoDB, consuming RCUs and risking ThrottlingException; it also changes the job's configuration, which may alter performance. Option D is wrong because increasing the read capacity units (RCU) of the DynamoDB table addresses throttling by raising the throughput limit, but it incurs additional cost and does not leverage the export-to-S3 feature; it also changes the table's provisioned capacity, which is a modification outside the job's logic but still a change to the infrastructure, and the question asks to resolve the issue without changing the job's logic, which increasing RCU does not technically violate, but it is not the best practice and does not avoid the underlying scan overhead.

19
Multi-Selectmedium

A data engineer is designing a data lake on Amazon S3 that will be used for both batch processing with Amazon EMR and interactive queries with Amazon Athena. The data includes sensitive personally identifiable information (PII) that must be encrypted at rest. The company requires that the encryption keys be managed by the company and rotated every 90 days. Which TWO options should the engineer implement to meet these requirements? (Choose TWO.)

Select 2 answers
A.Use customer-provided keys (SSE-C) and store the keys in AWS Secrets Manager.
B.Configure a bucket policy to deny uploads that are not encrypted.
C.Enable S3 default encryption using SSE-KMS with the customer managed key.
D.Use AWS Key Management Service (KMS) to create a customer managed key with automatic yearly rotation.
E.Use S3 managed keys (SSE-S3) for server-side encryption.
AnswersC, D

It enables S3 default encryption using SSE-KMS with a customer managed key, ensuring all objects are encrypted at rest with keys managed by the company.

Why this answer

The correct answers are C and D. Option C enables S3 default encryption using SSE-KMS with a customer managed key, ensuring all objects are encrypted at rest with keys managed by the company. Option D creates a customer managed key in AWS KMS with automatic yearly rotation, which satisfies the requirement for key rotation; the company can also perform manual rotations every 90 days if needed.

Option A is incorrect because SSE-C requires the customer to manage the keys themselves, including storing them in Secrets Manager, and does not provide automatic rotation. Option B is incorrect because a bucket policy can enforce encryption but does not manage keys. Option E is incorrect because SSE-S3 uses Amazon-managed keys, not customer-managed keys.

20
MCQmedium

Refer to the exhibit. A data engineer is troubleshooting an AWS Lambda function that processes data from Amazon S3. The function is triggered by S3 events, but no logs appear in CloudWatch Logs. The engineer runs the AWS CLI command shown. What is the MOST likely reason for the missing logs?

A.The Lambda execution role does not have permissions to create log groups and write logs.
B.The Lambda function is configured to log to a different log group.
C.The Lambda function is not being invoked by S3 events.
D.The log retention policy is set to 7 days, causing logs to expire immediately.
AnswerA

Missing logs:CreateLogGroup, logs:CreateLogStream, logs:PutLogEvents.

Why this answer

The CLI command output shows the log group exists but `storedBytes: 0`, meaning no logs have been written. The most common cause is that the Lambda execution role lacks the required permissions (`logs:CreateLogStream`, `logs:PutLogEvents`). Option B is incorrect because even if the function logged to a different group, logs for this group would still be written if permissions allowed.

Option C is incorrect because the function could be invoked but unable to write logs. Option D is incorrect because a retention policy does not prevent logs from being written; it only determines how long they are kept.

21
MCQmedium

A data pipeline uses AWS Glue to process data from Amazon S3. The job fails with an 'OutOfMemoryError' during the transformation phase. Which action should the data engineer take to resolve this issue?

A.Enable S3 server-side encryption.
B.Increase the number of partitions in the input data.
C.Change the data format from CSV to Parquet.
D.Increase the number of DPUs (Data Processing Units) for the Glue job.
AnswerD

More DPUs provide additional memory and compute resources to handle large transformations.

Why this answer

The OutOfMemoryError occurs because the Glue job does not have enough memory allocated. Increasing the number of DPUs (Data Processing Units) increases both memory and processing capacity, directly resolving the issue. Option A (S3 server-side encryption) affects data security, not memory.

Option B (increasing data partitions) may help parallelism but does not directly increase memory per executor. Option C (changing to Parquet) can reduce data volume but does not guarantee sufficient memory for transformation.

22
MCQhard

A data engineer is designing a data pipeline that uses AWS Glue to process data from an RDS MySQL database. The pipeline must capture only incremental changes (inserts and updates) and run every hour. Which approach is most cost-effective and reliable?

A.Use Glue job bookmarks to track and process only new and updated records
B.Use AWS DMS with change data capture (CDC) to replicate changes to S3
C.Add a timestamp column and query rows where timestamp > last run
D.Perform a full table scan each hour and compare with previous snapshot
AnswerA

Bookmarks efficiently handle incremental loads.

Why this answer

AWS Glue job bookmarks track processed data and enable incremental processing by automatically storing state information about previously processed data, so only new and updated records are processed in subsequent runs. This approach is cost-effective because it avoids full table scans and reduces data processing. Option B is not optimal because AWS DMS with CDC adds extra cost and operational overhead for a simple hourly incremental load, and it is not directly integrated with Glue.

Option C can work but is less reliable if timestamps are not updated on changes or if there are late-arriving records, and it may require additional indexing. Option D is inefficient because full table scans each hour are costly and slow, especially for large tables.

23
Multi-Selecteasy

A data engineer is setting up an AWS Glue job to process data from an Amazon S3 bucket. The job fails with an 'Access Denied' error. Which TWO IAM permissions are MOST likely missing from the Glue job's IAM role?

Select 2 answers
A.s3:PutObject
B.kms:Decrypt
C.dynamodb:GetItem
D.glue:StartJobRun
E.s3:GetObject
AnswersA, E

Required to write output to S3.

Why this answer

Options A and E are correct. A Glue job requires s3:GetObject to read input data from S3 and s3:PutObject to write output data to S3. Option B (kms:Decrypt) is only needed if the S3 objects are encrypted with KMS.

Option C (dynamodb:GetItem) is not relevant unless the job accesses DynamoDB. Option D (glue:StartJobRun) is not needed for the job's execution itself; it is used to start a job run.

24
MCQhard

A data engineer uses AWS Database Migration Service (DMS) to migrate an on-premises Oracle database to Amazon Aurora MySQL. The migration is successful, but the engineer notices that the target Aurora cluster has a higher CPU utilization than expected during the full load phase. What is the MOST likely cause?

A.The DMS task has LOB mode set to 'Full LOB mode', causing additional processing.
B.DMS is performing data validation during the full load phase.
C.DMS is reading from an Amazon Aurora read replica instead of the primary instance.
D.The DMS task is configured to use multiple parallel threads to load data, overwhelming the target instance.
AnswerD

Parallel threads increase throughput but also increase CPU usage.

Why this answer

During full load, DMS uses multiple parallel threads (by default up to 4 or more) to maximize throughput, which can overwhelm the target Aurora cluster's CPU. Option A is incorrect: 'Full LOB mode' affects how large objects are handled and may increase latency, but it is not the primary cause of high CPU utilization. Option B is incorrect: DMS performs data validation after the full load phase, not during it.

Option C is incorrect: DMS reads from the source (on-premises Oracle), not from an Aurora read replica; moreover, read replicas are not used for writing.

25
MCQhard

A data engineer is designing a data pipeline that ingests millions of small JSON files (1-10 KB each) from an S3 bucket into Amazon Redshift. The current approach uses a Lambda function triggered by S3 events to call the Redshift COPY command for each file. This is causing high latency and throttling. Which alternative is MOST cost-effective and efficient?

A.Use Amazon Kinesis Data Streams and a consumer to batch files before COPY
B.Use Amazon Kinesis Data Firehose to buffer and write larger files to S3, then use a scheduled COPY command
C.Increase the Lambda concurrency limit and memory
D.Use AWS Glue to merge files into larger Parquet files before loading
AnswerB

Firehose buffers small files into larger ones, reducing COPY frequency and cost.

Why this answer

Amazon Kinesis Data Firehose can buffer the incoming small JSON files from S3 (via S3 event notifications) and write larger aggregated files to S3. A scheduled COPY command then efficiently loads these larger files into Amazon Redshift, reducing the number of COPY operations and avoiding Lambda throttling. This approach is cost-effective as Firehose charges only for data volume processed, and it eliminates the need for custom batching logic.

Other options either process files individually (A, C) or incur higher costs with AWS Glue (D).

26
Multi-Selecteasy

A data engineer is monitoring an AWS Glue ETL job that processes data from Amazon DynamoDB to Amazon S3. The job is taking longer than expected. The engineer suspects that the job's parallelism is not optimal. Which THREE actions can improve the job's performance? (Choose THREE.)

Select 3 answers
A.Enable the 'groupFiles' option in the S3 sink to coalesce small files.
B.Decrease the 'dynamodb.splits' parameter to reduce the number of parallel readers.
C.Increase the 'MaxCapacity' (DPU) setting for the Glue job.
D.Disable job bookmark to avoid storing metadata.
E.Increase the 'dynamodb.throughput.read.percentage' parameter to allocate more read capacity.
AnswersA, C, E

Coalescing small files reduces the number of output files and improves write performance.

Why this answer

Enabling 'groupFiles' in the S3 sink coalesces small files into larger ones, reducing the number of write operations and improving write performance. Option C is correct because increasing MaxCapacity (DPU) allocates more processing units, increasing parallelism and processing speed. Option E is correct because increasing 'dynamodb.throughput.read.percentage' allocates a higher percentage of the table's provisioned read capacity to the Glue job, allowing more parallel reads from DynamoDB.

Option B is incorrect because decreasing 'dynamodb.splits' reduces the number of parallel readers, which can lower parallelism and slow down the job. Option D is incorrect because disabling job bookmarks results in reprocessing all data each run, which increases processing time and does not improve performance.

27
MCQeasy

Refer to the exhibit. A data engineer runs the command on an Amazon S3 bucket used for data lake storage. The engineer is concerned about accidental overwrites of objects. What does the output indicate?

A.Versioning is enabled, so previous versions of objects are preserved.
B.Old versions will be automatically deleted after a retention period.
C.Objects are encrypted at rest by default.
D.MFA Delete is disabled, meaning anyone can delete objects permanently.
AnswerA

Correct. The Status 'Enabled' indicates versioning is turned on for the bucket. With versioning enabled, if an object is overwritten, a new version is created and the previous version is preserved, preventing accidental permanent loss of the overwritten data.

Why this answer

The Status 'Enabled' indicates versioning is turned on for the bucket, preserving previous versions. Option B is wrong because versioning does not automatically delete old versions; they are retained until explicitly deleted. Option C is wrong because versioning does not enable encryption; encryption is a separate setting.

Option D is wrong because MFA Delete is not displayed in this status output; it is a different bucket property.

28
MCQmedium

A company uses Amazon Kinesis Data Streams to ingest real-time clickstream data. The consumer application is falling behind and the iterator age is increasing. Which action would most effectively improve throughput?

A.Switch from Kinesis Data Streams to Kinesis Data Firehose
B.Decrease the batch size in the consumer
C.Enable enhanced fan-out for the consumer
D.Increase the number of shards in the stream
AnswerD

More shards increase read capacity and parallelism.

Why this answer

Increasing the number of shards in a Kinesis data stream increases the level of parallelism for both ingestion and consumption, allowing the consumer to process more data concurrently and catch up. Option A is incorrect because Kinesis Data Firehose is a delivery stream, not a replacement for real-time consumption, and cannot solve a consumer lag issue. Option B is incorrect because decreasing batch size reduces the amount of data processed per poll, which can actually slow down throughput and increase iterator age.

Option C is incorrect because enhanced fan-out is useful when multiple consumers need dedicated throughput, but it does not increase the total throughput of the stream; it simply provides each consumer with its own 2 MB/sec per shard read throughput, which may not help a single consumer that is already falling behind.

29
Multi-Selecteasy

A data engineer needs to monitor the performance of an RDS for PostgreSQL database. Which THREE CloudWatch metrics are most useful for this purpose?

Select 3 answers
A.CPUUtilization
B.DatabaseConnections
C.FreeStorageSpace
D.NetworkThroughput
E.ReadLatency / WriteLatency
AnswersA, B, E

Indicates compute load.

Why this answer

CPUUtilization is a critical metric for monitoring RDS for PostgreSQL because high CPU usage can indicate inefficient queries, insufficient instance size, or contention. Sustained high CPU can lead to performance degradation and increased query latency, making it essential for capacity planning and troubleshooting.

Exam trap

The trap here is that candidates often confuse storage metrics (like FreeStorageSpace) with performance metrics, or assume NetworkThroughput is a performance indicator, when in fact latency and CPU metrics directly reflect query execution health.

30
MCQhard

A company uses Amazon Kinesis Data Streams with a Lambda consumer. The Lambda function is failing with 'ProvisionedThroughputExceededException' when writing to a DynamoDB table. Which action should the data engineer take to resolve this without losing data?

A.Reduce the number of Kinesis shards to lower the ingestion rate.
B.Increase the DynamoDB table's read capacity.
C.Configure a dead-letter queue (DLQ) on the Lambda function and increase the DynamoDB write capacity.
D.Disable retries on the Lambda function to avoid throttling.
AnswerC

The DLQ captures failed records, and increasing write capacity reduces throttling. Together, they prevent data loss.

Why this answer

The 'ProvisionedThroughputExceededException' occurs when the Lambda function exceeds the DynamoDB table's write capacity. To resolve this without data loss, the data engineer should both increase the DynamoDB write capacity to accommodate the throughput and configure a dead-letter queue (DLQ) on the Lambda function. The DLQ captures records that fail after all retries, preventing data loss.

Option A (reducing shards) would lower the ingestion rate but may cause data loss and does not address the root cause. Option B (increasing read capacity) is irrelevant because the issue is with writes. Option D (disabling retries) would cause data loss because failed records would not be retried.

31
MCQeasy

A company uses Amazon Kinesis Data Streams to ingest real-time clickstream data. The data is consumed by an AWS Lambda function that processes records and stores results in Amazon DynamoDB. Recently, the Lambda function has been failing with ProvisionedThroughputExceededException errors. Which action should the data engineer take to resolve this issue?

A.Enable auto scaling on the DynamoDB table to handle increased write capacity.
B.Reduce the number of shards in the Kinesis stream to lower the ingestion rate.
C.Increase the batch size in the Lambda event source mapping to process more records per invocation.
D.Configure the Lambda function to discard records that cause throttling errors.
AnswerA

Auto scaling adjusts throughput based on actual usage, preventing throttling.

Why this answer

Enabling DynamoDB auto scaling dynamically adjusts throughput to match demand. Option B is wrong because reducing the number of shards would lower the ingestion rate, which is not appropriate for handling high traffic. Option C is wrong because increasing the batch size in the Lambda event source mapping would process more records per invocation, but the underlying issue is DynamoDB throughput, not batch size.

Option D is wrong because discarding records that cause throttling would lead to data loss.

32
MCQhard

A company runs a batch ETL job on Amazon EMR every night. Recently, the job started failing with 'Out of Memory' errors in the Spark executors. The data volume has grown 20% in the past month. The cluster uses uniform instance groups with 5 core nodes of r5.xlarge (4 vCPU, 32 GB RAM). Which change should the data engineer implement to resolve the issue with minimal cost increase?

A.Increase the number of core nodes to 7.
B.Change instance type to r5.2xlarge (8 vCPU, 64 GB RAM) for all nodes.
C.Configure instance fleets to include r5.xlarge and r5.2xlarge instances.
D.Tune Spark memory configurations to reduce executor memory overhead.
AnswerC

Instance fleets allow cost-effective scaling by mixing types.

Why this answer

Using instance fleets allows the cluster to include both r5.xlarge and r5.2xlarge instances, enabling the Spark executors to use the larger instances for memory-intensive tasks while still leveraging the existing r5.xlarge nodes. This provides a cost-effective way to handle the 20% data growth by adding memory capacity without replacing the entire cluster or over-provisioning all nodes. Instance fleets also support Spot Instances, which can further reduce costs while addressing the Out of Memory errors.

Exam trap

The trap here is that candidates often assume increasing the number of nodes (Option A) or tuning Spark memory settings (Option D) can solve memory issues, but they fail to recognize that the root cause is insufficient memory per executor, which is best addressed by adding larger instances via instance fleets to minimize cost increase.

How to eliminate wrong answers

Option A is wrong because simply increasing the number of core nodes to 7 does not increase the memory per executor; it only adds more nodes with the same 32 GB RAM each, which may not resolve the Out of Memory errors if individual executors are hitting their limits due to data skew or large partitions. Option B is wrong because changing all nodes to r5.2xlarge (64 GB RAM) would double the memory per node but also double the cost for the entire cluster, which is not the minimal cost increase solution. Option D is wrong because tuning Spark memory configurations (e.g., reducing executor memory overhead) cannot create additional physical memory; it only reallocates existing memory, which will not resolve the Out of Memory errors if the total available memory is insufficient for the increased data volume.

33
MCQhard

A data engineer is using AWS DMS to migrate a 2 TB Oracle database to Amazon Aurora PostgreSQL. The migration is running in full load mode with ongoing replication. After the full load completes, the ongoing replication task shows a 'TargetMetadata' error: 'ERROR: duplicate key value violates unique constraint'. The engineer verifies that the target table already contains the data. What should the engineer do to resolve this issue?

A.Enable 'BatchApplyEnabled' and set 'TaskRecoveryTableEnabled' to false in the task settings.
B.Disable the unique constraint on the target table.
C.Truncate the target table and restart the full load.
D.Drop the indexes on the target table and recreate them after the migration.
AnswerA

Batch apply minimizes duplicate key errors, and disabling recovery table prevents re-application of already-applied changes.

Why this answer

Enabling 'BatchApplyEnabled' allows DMS to batch changes and reduces duplicate key errors, while setting 'TaskRecoveryTableEnabled' to false prevents recovery attempts that can reapply already committed transactions. Option B is wrong because disabling constraints compromises data integrity. Option C is wrong because truncating and restarting loses existing data and does not address the ongoing replication issue.

Option D is wrong because dropping indexes does not prevent duplicate key violations.

Exam trap

A common mistake is to think that truncating the target table is necessary, but that would cause data loss and downtime. Another mistake is to disable constraints, which can lead to data integrity issues.

34
Multi-Selectmedium

A data engineer is troubleshooting a slow-running Amazon Athena query on a large dataset stored in S3. The query scans many small files. Which TWO actions can improve query performance?

Select 2 answers
A.Increase the number of files to increase parallelism
B.Disable S3 server-side encryption
C.Concatenate small files into larger files
D.Partition the data by a frequently filtered column
E.Convert files from CSV to JSON
AnswersC, D

Reduces file open overhead.

Why this answer

Concatenating small files into larger files reduces the overhead of file listing and task scheduling, improving query performance. Option D is correct because partitioning the data by a frequently filtered column allows Athena to use partition pruning, scanning only relevant partitions and reducing the amount of data read. Option A is incorrect because increasing the number of small files increases overhead and worsens performance.

Option B is incorrect because disabling S3 server-side encryption does not affect query performance. Option E is incorrect because converting from CSV to JSON does not improve query performance; columnar formats like Parquet or ORC would be beneficial.

35
Multi-Selectmedium

A data engineer is troubleshooting an Amazon Redshift cluster that has experienced a node failure. The engineer needs to ensure that the cluster is highly available and can withstand a single node failure with minimal downtime. Which TWO actions should the engineer take?

Select 2 answers
A.Enable automated snapshots with cross-region copy.
B.Enable concurrency scaling to handle increased read traffic.
C.Deploy the cluster as a single-node cluster for simplicity.
D.Place the cluster in a public subnet with an internet gateway.
E.Use a multi-node cluster with RA3 node types.
AnswersA, E

Enables recovery from a node failure by restoring from a cross-region snapshot. While it requires some downtime for restore, it is a key high-availability feature.

Why this answer

Options A and E are considered correct for ensuring high availability in Amazon Redshift. Option A: Automated snapshots with cross-region copy enable recovery from a node failure by restoring data from a snapshot in another region, which reduces downtime but does not guarantee zero downtime. Option E: A multi-node cluster with RA3 node types separates compute and storage, allowing faster node replacement and minimizing downtime, though it does not eliminate it entirely.

The exam expects these as the best actions among the given choices to improve availability and withstand a single node failure.

36
MCQmedium

A data engineer needs to set up a data catalog for a new data lake in AWS Glue. The data resides in S3 in Parquet format. The engineer wants to ensure that the schema is automatically detected and updated when new columns are added to the data. Which configuration should the engineer use?

A.Add a partition index to the Glue Data Catalog table.
B.Configure the crawler's 'Schema updates' option to 'Update the table schema'.
C.Set the crawler's 'Database' output to a new database.
D.Enable partition indexing on the table.
AnswerB

This enables automatic schema detection and updates.

Why this answer

Configuring the crawler's 'Schema updates' option to 'Update the table schema' allows Glue crawlers to automatically detect and update the schema when new columns are added to the data. Option A is wrong because a partition index is used to improve query performance on partitioned data, not to update the schema. Option C is wrong because setting the crawler's database output to a new database does not affect schema updates; it simply directs the crawler to write to a different database.

Option D is wrong because partition indexing (enable partition indexing) is about indexing partitions for faster querying, not about schema updates.

37
MCQhard

A data team runs a daily AWS Glue ETL job that processes data from an Amazon Redshift cluster and writes results to Amazon S3. The job completes successfully but takes 2 hours longer than expected. The job uses the JDBC connection to Redshift. The Redshift cluster is 4 dc2.large nodes. The Glue job has 10 workers of type G.1X. Which change would MOST likely reduce the job duration?

A.Use Redshift Spectrum to query data directly from S3
B.Use the S3 staging option in the Glue connection to unload data from Redshift to S3 first
C.Increase the Redshift cluster size to 8 nodes
D.Increase the number of Glue workers to 20
AnswerB

UNLOAD is parallel and faster than JDBC; Glue can then read from S3.

Why this answer

The JDBC connection in AWS Glue reads data row-by-row from Redshift, which is slow for large datasets. By enabling the S3 staging option in the Glue connection, the job uses Redshift's UNLOAD command to export data to S3 in parallel, then Glue reads from S3. This bypasses the JDBC bottleneck and leverages Redshift's massively parallel processing (MPP) to export data much faster.

Exam trap

The trap here is that candidates assume the bottleneck is either Redshift compute (C) or Glue parallelism (D), when in fact the JDBC driver's single-threaded row-by-row fetch is the primary performance limiter.

How to eliminate wrong answers

Option A is wrong because Redshift Spectrum queries data directly from S3, but the source data is in Redshift, not S3; Spectrum does not help extract data from Redshift. Option C is wrong because the bottleneck is the JDBC connection, not Redshift compute capacity; adding more Redshift nodes would not speed up a single-threaded JDBC read. Option D is wrong because increasing Glue workers only helps if the job is CPU-bound or parallelizable; the JDBC read is I/O-bound and limited by the single connection, so more workers would not reduce the 2-hour delay.

38
MCQeasy

A data analyst needs to query a large Amazon S3 bucket containing CSV files using Amazon Athena. The bucket has millions of small files (less than 1 MB each). The analyst reports that queries are very slow and often time out. The data is partitioned by date and the partition columns are defined in the table. What is the most effective way to improve query performance?

A.Convert the files to Apache Parquet format using an AWS Glue ETL job.
B.Run a compaction job to consolidate small files into fewer larger files (e.g., 128 MB each).
C.Add more partitions by including hour and minute as partition keys.
D.Use S3 Select to push down filtering to S3 before Athena processes the data.
AnswerB

Consolidating small files reduces the overhead of listing and reading many objects, significantly improving Athena performance.

Why this answer

Many small files (under 1 MB) cause high overhead because each file requires a separate read operation and metadata call. Consolidating them into fewer larger files (e.g., 128 MB each) reduces the number of read operations and improves I/O efficiency, directly addressing the root cause of slowdowns and timeouts. Option A (converting to Parquet) improves storage efficiency and query performance but does not reduce the file count; it is a beneficial addition but not the most effective standalone fix for the small file problem.

Option C (adding more partitions) would increase overhead by creating even more directories/files to scan. Option D (S3 Select) applies within individual files and does not mitigate overhead from file quantity.

39
Matchingmedium

Match each AWS data analytics service to its primary function.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

Serverless SQL query on S3

Business intelligence and dashboards

Data lake setup and access control

Real-time SQL on streaming data

Query data in S3 from Redshift

Why these pairings

The correct matches are: Amazon Athena for serverless SQL querying on S3, Amazon Redshift for data warehousing, Amazon EMR for big data processing, and Amazon Kinesis for real-time streaming. Common confusions include swapping the roles of Athena and Redshift.

40
MCQhard

A company uses AWS Lake Formation to manage data lake permissions. A data engineer needs to grant a group of analysts SELECT permission on a set of tables in the 'analytics' database, but only for columns that are not classified as 'PII'. Which approach should the engineer use?

A.Grant SELECT on the entire database and rely on analysts to avoid PII columns.
B.Create an IAM policy that denies access to PII columns.
C.Use an S3 bucket policy to restrict access to objects containing PII data.
D.Use Lake Formation tag-based access control (LF-TBAC) to grant SELECT on columns without the 'PII' tag.
AnswerD

LF-TBAC allows column-level permissions by matching tags on columns with tags on the grant.

Why this answer

Lake Formation tag-based access control (LF-TBAC) allows granting SELECT permission on columns that do not have the 'PII' tag, enabling fine-grained column-level access. Option A is incorrect because granting SELECT on the entire database would include all columns, including those classified as PII. Option B is incorrect because IAM policies cannot enforce column-level restrictions based on tags within Lake Formation tables.

Option C is incorrect because S3 bucket policies operate at the object level and cannot restrict access to specific columns within a table.

41
MCQeasy

Your organization uses Amazon Redshift for analytical workloads. You have noticed that queries are slow on a large fact table. The table is distributed by KEY on the customer_id column and sorted by transaction_date. The table is frequently updated with new records. To improve query performance, you decide to implement a distribution style that reduces data movement. Which action should you take?

A.Change the distribution style to ALL to put a copy of the table on every node.
B.Change the distribution style to AUTO to let Redshift choose the best distribution.
C.Change the distribution style to EVEN to distribute rows evenly across all nodes.
D.Change the sort key to include customer_id as well.
AnswerC

EVEN distribution distributes rows evenly across all nodes, minimizing data movement during queries and loads, making it ideal for large, frequently updated tables.

Why this answer

Changing to EVEN distribution distributes rows evenly across all nodes, reducing data movement during queries that do not benefit from the current KEY distribution on customer_id. This is especially useful for large, frequently updated tables where data skew or redistribution can cause performance issues. Option A (ALL) is wrong because it duplicates the entire table on every node, which is inefficient for large tables.

Option B (AUTO) is wrong because it may not choose the optimal distribution style for this workload. Option D (adding a sort key) improves sort performance but does not directly reduce data movement.

42
Multi-Selecteasy

A data engineer is setting up a data pipeline using AWS Glue. The engineer wants to monitor job failures and receive notifications. Which TWO services can be used together for this purpose?

Select 2 answers
A.AWS Step Functions
B.Amazon CloudWatch
C.Amazon SNS
D.Amazon Kinesis Data Streams
E.Amazon SQS
AnswersB, C

Glue publishes job metrics to CloudWatch.

Why this answer

Amazon CloudWatch (B) is correct because it is the native monitoring service for AWS Glue, capturing job metrics, logs, and state changes. You can configure CloudWatch alarms to trigger on job failures, which then invoke Amazon SNS (C) to send notifications via email, SMS, or other endpoints. Together, they provide a complete monitoring and alerting solution without additional orchestration.

Exam trap

The trap here is that candidates may confuse AWS Step Functions (A) as a monitoring tool because it can orchestrate retries, but it does not natively send notifications and is not the primary service for monitoring Glue job failures.

43
MCQeasy

A data engineer needs to schedule a daily ETL job that runs on Amazon EMR. The job should be triggered automatically and send an email on failure. Which AWS service should the engineer use to orchestrate the job?

A.Amazon EventBridge
B.AWS Step Functions
C.Amazon Simple Queue Service (SQS)
D.Amazon CloudWatch Events
AnswerB

Orchestrates EMR steps and integrates with SNS.

Why this answer

WS Step Functions (Option B). Step Functions is a serverless workflow service that can orchestrate multiple AWS services, including EMR steps, into a state machine. It can be triggered on a schedule using Amazon EventBridge or CloudWatch Events, and it can integrate with Amazon SNS to send email notifications on failure.

Option A (Amazon EventBridge) is an event bus that can trigger services but does not provide built-in orchestration for complex workflows. Option C (SQS) is a message queue service and not an orchestrator. Option D (Amazon CloudWatch Events) is similar to EventBridge and can trigger Lambda functions but lacks native workflow orchestration capabilities.

44
MCQeasy

A data engineer is monitoring an Amazon EMR cluster and notices that the cluster is running out of disk space on the core nodes. Which action can be taken to resolve this issue?

A.Reduce the retention period of data stored on HDFS
B.Change the core node instance type to a compute-optimized type
C.Increase the EBS volume size attached to core nodes
D.Use Spot Instances for core nodes
AnswerC

More EBS capacity directly adds disk space.

Why this answer

Increasing the EBS volume size attached to core nodes directly adds storage capacity, resolving the disk space issue. Option A is wrong because reducing HDFS data retention may free space but does not increase available disk space; it could result in data loss. Option B is wrong because changing to a compute-optimized instance type affects CPU and memory, not storage.

Option D is wrong because Spot Instances are a pricing model and do not add disk space.

45
MCQeasy

A data engineer is troubleshooting an Amazon Redshift cluster that is running slowly. The cluster has 4 dc2.large nodes. The engineer runs a query that scans a large table and notices that the query uses only a single slice instead of all slices. The table is distributed with DISTSTYLE ALL. What is the most likely reason for the query using only one slice?

A.The query is running on the leader node instead of the compute nodes.
B.The table uses DISTSTYLE ALL, which stores the entire table on a single slice per node.
C.The workload management (WLM) queue is configured with a single query slot.
D.The table does not have a sort key defined.
AnswerB

DISTSTYLE ALL replicates the table to each node, but it is stored on one slice per node, limiting parallelism.

Why this answer

DISTSTYLE ALL replicates the entire table to every node, but within each node, the data is stored on a single slice. For dc2.large nodes, which have 2 slices per node, this means that a full table scan will only use one slice per node, not all available slices. This leads to underutilization and slow query performance.

Option A is incorrect because the leader node does not execute data queries; it only coordinates them. Queries are executed on compute nodes. Option C is incorrect because WLM queue slots control concurrency, not the number of slices used by a single query.

Option D is incorrect because sort keys affect data ordering and compression, not slice distribution.

46
MCQeasy

A data engineer is running an AWS Glue ETL job that reads from an Amazon RDS MySQL database and writes to Amazon S3. The job fails with a 'Communications link failure' error. The security group for the RDS instance allows inbound traffic from the Glue job's security group. What is the most likely cause of the failure?

A.The JDBC connection string in the Glue job does not include the database name.
B.The Glue job is using the wrong JDBC driver.
C.The Glue job's security group does not allow outbound traffic to the RDS security group on port 3306.
D.The IAM role used by the Glue job does not have rds:Connect permission.
AnswerC

Without outbound rule, the connection fails.

Why this answer

AWS Glue ETL jobs run in a VPC that requires outbound security group rules to initiate connections to RDS. Even if the RDS security group allows inbound traffic from the Glue security group, the Glue security group must also have an outbound rule allowing traffic to the RDS security group on port 3306 (MySQL default port). Without this outbound rule, the TCP handshake from Glue to RDS fails, causing a 'Communications link failure'.

Exam trap

The trap here is that candidates assume only inbound rules matter for security groups, but outbound rules are equally critical for initiating connections from the client (Glue) to the server (RDS).

How to eliminate wrong answers

Option A is wrong because omitting the database name from the JDBC connection string would cause a different error (e.g., 'Unknown database' or connection rejection), not a 'Communications link failure', which indicates a network-level issue. Option B is wrong because AWS Glue automatically includes the correct JDBC driver for MySQL (compatible with Amazon RDS MySQL) when using the Glue connection type 'MySQL'; using the wrong driver would typically produce a class-not-found or driver-incompatibility error, not a communications link failure. Option D is wrong because IAM permissions for Glue jobs use actions like 'glue:GetConnection' and 'rds:DescribeDBInstances' to retrieve connection metadata, but there is no 'rds:Connect' IAM action; database authentication is handled via username/password in the Glue connection, not IAM.

47
MCQmedium

A company uses AWS Glue to run ETL jobs on a schedule. Recently, a job failed with the error: 'AnalysisException: cannot resolve '`column_name`' given input columns: ...'. The job reads from an Amazon S3 source that has a schema defined in the AWS Glue Data Catalog. What is the MOST likely cause?

A.The schema of the source data has changed and is not reflected in the Data Catalog.
B.The source data file is corrupted and cannot be parsed.
C.The IAM role associated with the Glue job does not have permissions to read the S3 bucket.
D.The data type of the column in the source does not match the Data Catalog definition.
AnswerA

Schema evolution without updating catalog causes column resolution errors.

Why this answer

The error 'cannot resolve column_name' indicates that the Spark SQL query is trying to reference a column that does not exist in the schema provided by the AWS Glue Data Catalog. This typically happens when the source data schema has changed (e.g., column renamed or dropped) but the Data Catalog schema is not updated accordingly. Option B is incorrect because a corrupted file would cause a read or parse error, not a schema resolution error.

Option C is incorrect because an IAM permissions issue would result in an AccessDenied error. Option D is incorrect because a data type mismatch would cause a type casting error, not a 'cannot resolve' error which is about column names.

48
MCQmedium

A data engineer is troubleshooting a failed AWS Glue job that reads from an Amazon RDS for MySQL table. The error message indicates 'java.sql.SQLException: No suitable driver'. What is the most likely cause?

A.The MySQL JDBC driver JAR is not included in the Glue job's dependencies.
B.The Glue job is using the wrong JDBC driver class name.
C.The Glue job's VPC subnet does not have a route to the RDS instance.
D.The RDS instance is not publicly accessible.
AnswerA

Glue needs the JDBC driver in its classpath to connect to MySQL.

Why this answer

The MySQL JDBC driver must be included in the Glue job's dependent JARs or as a Python module. Option B is incorrect because the driver class name is correct; the driver JAR is missing. Option C is incorrect because the error is about driver, not connection.

Option D is incorrect because subnet routing does not affect driver loading.

49
MCQmedium

An AWS Glue job that performs data transformation on large Parquet files in Amazon S3 is taking a long time to complete. The job uses the default number of DPUs. Which change would most likely improve the job's performance?

A.Increase 'Max capacity' (number of DPUs) for the job.
B.Use 'coalesce' to reduce the number of output files.
C.Reduce the number of partitions in the source data.
D.Change the input format from Parquet to CSV.
AnswerA

More DPUs provide more compute resources.

Why this answer

Increasing the number of DPUs (Option A) adds more parallelism and memory, which directly improves the performance of the Glue job when processing large Parquet files. Option B (coalesce) reduces the number of output files but does not speed up the transformation itself. Option C (reduce partitions) may lead to data skew or out-of-memory errors.

Option D (change to CSV) would make processing slower because CSV is less efficient than Parquet.

50
MCQmedium

A data pipeline uses AWS Step Functions to orchestrate multiple Lambda functions for data transformation. The pipeline occasionally fails with a 'StateMachineExecutionLimitExceeded' error. What is the MOST likely cause?

A.The API Gateway endpoint used by Step Functions has a rate limit.
B.The Lambda functions have reached their concurrent execution limit.
C.The account has reached the maximum number of concurrent state machine executions.
D.The state machine definition has a syntax error causing infinite loops.
AnswerC

Step Functions has a limit on concurrent executions; increase the limit or reduce concurrency.

Why this answer

Step Functions has a default limit on concurrent executions (e.g., 1 million per account per region). Option A is wrong because Lambda concurrency limits would produce a different error. Option B is wrong because API Gateway is not involved.

Option D is wrong because state machine definition does not affect execution limits.

51
MCQmedium

A company is using Kinesis Data Firehose to deliver data to an S3 bucket. The delivery stream is failing with 'S3 bucket access denied' errors. The bucket policy allows the Firehose service principal. What could be the issue?

A.The S3 bucket is in a different VPC
B.The S3 bucket uses SSE-KMS and Firehose does not have KMS permissions
C.The S3 bucket name contains invalid characters
D.The IAM role assigned to Firehose lacks s3:PutObject permission
AnswerD

Correct. The IAM role assigned to the Firehose delivery stream must have the s3:PutObject permission to write objects to the S3 bucket. The bucket policy allowing the service principal is not sufficient; the role also needs the appropriate S3 action.

Why this answer

Even though the S3 bucket policy allows the Firehose service principal, Kinesis Data Firehose uses an IAM role to write data. This role must have the s3:PutObject permission. Without it, Firehose will receive an access denied error.

Option A is incorrect because VPC differences affect network connectivity, not IAM permissions. Option B is incorrect because SSE-KMS requires KMS permissions, but the error here is specifically about S3 access. Option C is incorrect because bucket name validation occurs during stream creation, not during data delivery.

Exam trap

Candidates often confuse the bucket policy and the IAM role permissions. The bucket policy allowing the service principal is necessary but not sufficient; the delivery role must also have s3:PutObject.

52
Multi-Selecthard

A data engineer is designing an Amazon Redshift data warehouse for a high-traffic analytics workload. The engineer needs to ensure fast query performance and minimize data movement. Which THREE design decisions should be made? (Choose THREE.)

Select 3 answers
A.Choose DISTSTYLE KEY for tables that are frequently joined.
B.Use the default distribution style for all tables.
C.Use DISTSTYLE ALL for all large fact tables.
D.Apply appropriate compression encodings to columns.
E.Define SORT KEYs on columns used in WHERE clauses.
AnswersA, D, E

KEY distribution collocates rows based on join keys, reducing data movement.

Why this answer

Correct answers are A, D, and E. DISTSTYLE KEY on frequently joined tables collocates data on the same node, reducing data movement during joins. Applying compression encodings reduces storage and I/O, improving performance.

SORT KEYs on columns used in WHERE clauses enable efficient range-restricted scans. Option B is incorrect because the default distribution style (AUTO) may not be optimal; explicit distribution is better for performance. Option C is incorrect because DISTSTYLE ALL stores a copy of the table on every node, which increases storage and load time; it is suitable only for small dimension tables, not large fact tables.

53
MCQmedium

A data engineer is monitoring an AWS Glue ETL job that processes data from an S3 bucket and writes to a Redshift table. The job completes successfully but takes longer than expected. The engineer notices that the job uses 10 DPUs and the data size is 500 GB. The job runs in standard mode. Which change would MOST reduce job duration?

A.Increase the number of DPUs to 20.
B.Use a smaller worker type like G.1X.
C.Change the output format from Parquet to CSV.
D.Reduce the number of partitions in the data.
AnswerA

More DPUs provide more parallelism, reducing job execution time.

Why this answer

Increasing the number of DPUs from 10 to 20 allows the job to process data in parallel, reducing execution time. AWS Glue standard mode scales linearly with DPUs for ETL jobs that are not I/O bound. In this case, with 500 GB of data and 10 DPUs, the job is likely CPU-bound and can benefit from additional parallelism.

Option B is incorrect because using a smaller worker type (G.1X) reduces available memory and CPU, worsening performance. Option C is incorrect because changing the output from Parquet (columnar, compressed) to CSV (row-based, uncompressed) increases data size and I/O, slowing the job. Option D is incorrect because reducing partitions can cause data skew and reduce parallelism, increasing runtime.

Exam trap

Candidates may assume that increasing DPUs always helps, but for small datasets or I/O-bound jobs, diminishing returns occur. However, for large datasets like 500 GB in standard mode, increasing DPUs typically reduces duration linearly up to a point.

54
MCQmedium

A company uses AWS Glue DataBrew to clean and prepare data for machine learning. The source data is in an S3 bucket with server-side encryption using AWS KMS (SSE-KMS). The DataBrew project is set up with an IAM role that has permissions to read from the S3 bucket and use the KMS key. When the DataBrew job runs, it fails with an error indicating that it cannot access the data. The IAM role has the following policy: { 'Version': '2012-10-17', 'Statement': [ { 'Effect': 'Allow', 'Action': ['s3:GetObject', 's3:ListBucket'], 'Resource': ['arn:aws:s3:::my-bucket', 'arn:aws:s3:::my-bucket/*'] }, { 'Effect': 'Allow', 'Action': 'kms:Decrypt', 'Resource': 'arn:aws:kms:us-east-1:123456789012:key/my-key' } ] }. What is the most likely cause of the failure?

A.The IAM role is missing s3:PutObject permission on the DataBrew output bucket.
B.The IAM role is missing s3:ListBucket permission on the source bucket.
C.The S3 bucket is in a different region than the DataBrew project.
D.The IAM role is missing kms:GenerateDataKey permission for the KMS key.
AnswerA

DataBrew writes to its own S3 bucket for job outputs; missing write permission causes failure.

Why this answer

The IAM role has permissions to read from the source S3 bucket (s3:GetObject, s3:ListBucket) and to decrypt using the KMS key (kms:Decrypt). However, DataBrew needs to write intermediate results to a separate output S3 bucket. The error indicates that the job cannot access data, which in the context of DataBrew often means it cannot write to the output bucket.

Therefore, the role is missing s3:PutObject permission on the output bucket. Option B is incorrect because the role already has s3:ListBucket on the source bucket. Option C is incorrect because the S3 bucket being in a different region would not cause an access denied error if the role has proper cross-region permissions; DataBrew can access buckets in any region.

Option D is incorrect because kms:Decrypt is sufficient for reading encrypted objects; kms:GenerateDataKey is needed for writing.

55
MCQmedium

A company uses Kinesis Data Streams to ingest real-time clickstream data. The data is processed by a Lambda function that writes to an S3 bucket. Recently, the Lambda function has been failing with 'ProvisionedThroughputExceededException' errors. Which action should be taken to resolve this issue?

A.Increase the Lambda function's memory allocation.
B.Increase the number of shards in the Kinesis stream.
C.Enable enhanced fan-out for the stream.
D.Reduce the batch size in the Lambda event source mapping.
AnswerB

More shards increase throughput capacity.

Why this answer

The 'ProvisionedThroughputExceededException' error indicates that the Lambda function is reading data from the Kinesis stream faster than the stream's shard-level throughput limits allow. Each shard in a Kinesis Data Stream supports up to 2 MB/s read throughput or 5 read transactions per second. Increasing the number of shards distributes the read load across more shards, raising the total available read throughput and resolving the throttling.

Exam trap

The trap here is that candidates confuse ProvisionedThroughputExceededException (a read-side throttling error) with write-side throttling, leading them to choose options like reducing batch size or increasing memory, which do not address the shard-level read throughput limit.

How to eliminate wrong answers

Option A is wrong because increasing Lambda memory allocation improves compute performance (CPU, network) but does not affect the read throughput limits of the Kinesis stream shards, which is the root cause of the throttling. Option C is wrong because enhanced fan-out provides dedicated 2 MB/s read throughput per consumer per shard, which reduces contention between consumers but does not increase the total read capacity of the stream; the error is from exceeding shard-level limits, not from consumer contention. Option D is wrong because reducing the batch size decreases the number of records per invocation, but the Lambda function still reads from the same shard at the same rate; the throttling is caused by exceeding the shard's read throughput, not by batch size.

56
Multi-Selecthard

A data engineer is designing a data pipeline that ingests data from multiple sources into Amazon S3, then processes it with AWS Glue and loads it into Amazon Redshift. Which THREE practices should be implemented to ensure data quality?

Select 3 answers
A.Implement data validation checks at the ingestion stage
B.Use AWS Glue DataBrew for data profiling and schema enforcement
C.Compress data files to reduce storage costs
D.Use manual sampling to check data quality periodically
E.Set up Amazon CloudWatch alarms for pipeline failures and data anomalies
AnswersA, B, E

Early validation catches errors before processing.

Why this answer

Implementing data validation checks at the ingestion stage ensures that only valid data enters the pipeline, catching issues early. Option B is correct because AWS Glue DataBrew provides data profiling and schema enforcement capabilities that help maintain data quality by identifying anomalies and enforcing schemas. Option E is correct because setting up Amazon CloudWatch alarms allows proactive monitoring of pipeline failures and data anomalies, enabling timely responses.

Option C is incorrect because compressing data files reduces storage costs but does not directly address data quality. Option D is incorrect because manual sampling is not scalable and cannot consistently ensure data quality in large-scale pipelines.

57
MCQmedium

A company runs a production Amazon Redshift cluster. The data engineering team notices that queries are running slowly during peak hours. The cluster's CPU utilization is consistently above 80%. Which action should the engineer take to improve query performance?

A.Move some tables to Amazon Redshift Spectrum.
B.Re-distribute the tables using a different distribution key.
C.Enable concurrency scaling.
D.Perform an elastic resize to add more nodes.
AnswerD

Elastic resize adds nodes and CPU capacity quickly.

Why this answer

Performing an elastic resize allows adding nodes to the Redshift cluster, increasing CPU capacity and resolving the CPU bottleneck. Option A is incorrect: moving tables to Redshift Spectrum offloads queries to S3 but does not reduce CPU usage on the cluster for existing queries. Option B is incorrect: re-distributing tables might improve data distribution but does not directly address high CPU utilization.

Option C is incorrect: concurrency scaling helps with many concurrent queries by adding transient capacity, but it does not reduce CPU usage on the main cluster; it may even increase it.

58
MCQmedium

A team uses Amazon Redshift for analytics. They notice that some queries are slow and the system shows high disk usage. The team wants to improve query performance without adding more nodes. Which action should they take first?

A.Run the VACUUM and ANALYZE commands on the tables.
B.Enable compression on all columns.
C.Redistribute the tables by changing the distribution key to a column with high cardinality.
D.Modify the workload management (WLM) queue to increase concurrency.
AnswerA

VACUUM reclaims space, ANALYZE updates statistics.

Why this answer

VACUUM and ANALYZE are the first actions to take because they reclaim disk space from deleted rows and update table statistics, which can significantly improve query performance and reduce disk usage. Option B is incorrect because enabling compression on all columns is not a first step; compression is typically set during table creation and may not address current disk usage issues. Option C is incorrect: redistributing tables by changing the distribution key requires recreating the table, which is an invasive operation and not the first troubleshooting step.

Option D is incorrect: modifying the WLM queue affects concurrency management, not disk usage or query performance directly related to high disk usage.

59
Multi-Selecthard

A company runs an Amazon EMR cluster processing data from S3. The data engineer notices that the cluster's task nodes are underutilized while core nodes are fully utilized. Which TWO steps should the engineer take to improve resource utilization?

Select 2 answers
A.Consolidate multiple small tasks into larger tasks.
B.Increase the number of core nodes.
C.Add more task nodes using Spot Instances.
D.Reduce the number of core nodes and increase the number of task nodes.
E.Move HDFS data from EBS to instance store volumes.
AnswersB, C

More core nodes distribute processing load.

Why this answer

The core nodes are fully utilized, indicating a need for more processing capacity. Increasing the number of core nodes (Option B) adds more resources for HDFS and processing. Adding task nodes with Spot Instances (Option C) provides additional compute capacity without increasing HDFS storage, offloading work from core nodes.

Option A (consolidating tasks) might reduce overhead but does not add capacity; Option D (reducing core nodes) would worsen utilization; Option E (moving HDFS from EBS to instance store) is not related to utilization and risks data loss.

60
MCQeasy

A company is using AWS Glue to catalog data stored in Amazon S3. The data is partitioned by year, month, and day. A data analyst reports that new partitions are not automatically discovered by the Glue crawler. The crawler runs on a schedule every hour. What is the MOST likely reason for the missing partitions?

A.The IAM role used by the crawler does not have permission to list the S3 bucket.
B.The Glue Data Catalog is not configured to use a Hive metastore.
C.The number of partitions exceeds the Glue catalog limit of 100,000.
D.The crawler schedule is set to run too frequently.
AnswerA

Without s3:ListBucket permission, the crawler cannot see new partitions.

Why this answer

The IAM role used by the crawler must have permissions to list the S3 bucket and read its objects. Without s3:ListBucket permission, the crawler cannot discover new partitions in the bucket, even if it runs on schedule. Option B is incorrect because the crawler does not need a Hive metastore connection to discover partitions in S3; it can update the Glue Data Catalog directly.

Option C is incorrect because the partition limit is 1,000,000 (not 100,000) per table, and the scenario does not indicate that limit is reached. Option D is incorrect because running the crawler every hour is a reasonable frequency; if permissions are correct, it should discover new partitions at that interval.

61
MCQhard

A company runs a nightly Amazon EMR job that processes data from S3 and writes results back to S3. The job fails with 'OutOfMemoryError' in the reduce phase. The cluster currently uses 5 m5.xlarge instances. Which cost-effective change should the data engineer make?

A.Increase the number of core nodes to 10.
B.Increase the number of reducers (mapreduce.reduce.tasks) and keep the same instance type.
C.Reduce the input data size by filtering early in the job.
D.Switch to r5.xlarge instances for more memory per instance.
AnswerB

More reducers reduce memory per reducer, preventing OOM.

Why this answer

Increasing the number of reducers (mapreduce.reduce.tasks) distributes the memory load across the existing 5 m5.xlarge instances, reducing the per-reducer memory pressure and preventing OutOfMemoryError without adding cost. Option A (adding more core nodes) increases cost without directly addressing reducer memory. Option C (reducing input data) may affect completeness and is not a proper fix.

Option D (switching to r5.xlarge) is more expensive per instance, making it less cost-effective.

62
MCQeasy

A data engineer is troubleshooting a failed Amazon Kinesis Data Firehose delivery stream. The stream is configured to deliver data to an Amazon S3 bucket. The error log shows: 'The destination S3 bucket's bucket policy does not allow the firehose to put objects.' What is the MOST likely issue?

A.The S3 bucket's ACL is configured to deny write access to the firehose.
B.The IAM role used by Firehose does not have the necessary permissions.
C.The S3 bucket policy does not include an Allow statement for the firehose to put objects.
D.The IAM role's trust policy does not allow Firehose to assume the role.
AnswerC

The bucket policy must explicitly grant s3:PutObject to the firehose's IAM role.

Why this answer

The error states the bucket policy does not allow the firehose to put objects. The solution is to add an Allow statement in the bucket policy granting the firehose's IAM role permission to execute s3:PutObject. Option A is incorrect because the error is about bucket policy, not ACLs.

Option B is incorrect because the error is already about permissions. Option D is incorrect because the issue is at the S3 bucket policy level, not IAM role trust policy.

63
MCQhard

A company uses AWS DMS to migrate data from an on-premises Oracle database to Amazon Redshift. The migration is successful, but after a few days, data in Redshift becomes inconsistent with the source due to ongoing changes. The company needs to keep Redshift synchronized with minimal latency. Which approach should the data engineer use?

A.Configure DMS with ongoing replication using change data capture (CDC).
B.Use Amazon Redshift COPY with S3 staging and AWS Lambda triggers.
C.Schedule a full DMS load every night.
D.Set up Amazon Redshift Spectrum to query the Oracle database directly.
AnswerA

CDC captures changes continuously and applies them to Redshift.

Why this answer

AWS DMS supports ongoing replication using change data capture (CDC), which captures incremental changes from the Oracle source (via Oracle LogMiner or binary logs) and applies them to Amazon Redshift in near real-time. This approach ensures that Redshift remains synchronized with the source database with minimal latency, meeting the requirement for ongoing consistency after the initial full load.

Exam trap

The trap here is that candidates may confuse Amazon Redshift Spectrum's federated querying capability with actual data replication, or assume that nightly batch loads (Option C) are sufficient for 'minimal latency' requirements, when DMS CDC is the only option that provides continuous, low-latency synchronization.

How to eliminate wrong answers

Option B is wrong because Amazon Redshift COPY with S3 staging and AWS Lambda triggers requires manual or event-driven extraction of data from Oracle, which introduces latency and complexity, and does not provide native CDC-based continuous replication. Option C is wrong because scheduling a full DMS load every night would result in significant data loss between loads (up to 24 hours of inconsistency) and does not achieve minimal latency. Option D is wrong because Amazon Redshift Spectrum queries external data directly from Oracle via federated querying, but it does not replicate or synchronize data into Redshift; it only provides a query-time view, which incurs high latency and does not maintain a consistent local copy.

64
MCQhard

A company runs a time-series forecasting model that writes results to an S3 bucket every 5 minutes. A downstream ETL job reads this data, but sometimes fails because it encounters incomplete files (zero bytes). What is the MOST reliable way to ensure the ETL job only processes complete files?

A.Set an S3 Lifecycle policy to delete files smaller than 1 MB.
B.Use S3 Copy to move files to a 'processed' folder after the ETL job reads them.
C.Configure S3 Select to query the files and only return rows if the file is complete.
D.Use S3 Event Notifications to trigger a Lambda function that checks file size and then moves the file to a 'ready' prefix.
AnswerD

Lambda can verify completeness before moving, ensuring only complete files are processed.

Why this answer

S3 Event Notifications can trigger a Lambda function upon object creation, which can check the file size (e.g., > zero bytes) and then copy the file to a 'ready' prefix, ensuring the ETL job only processes complete files. Option A is wrong because an S3 Lifecycle policy can delete small files but does not prevent the ETL from reading incomplete files. Option B is wrong because S3 Copy does not verify completeness.

Option C is wrong because S3 Select still reads the file even if it is incomplete; it doesn't guarantee completeness.

65
MCQhard

A company uses Amazon DynamoDB as the primary data store for a high-traffic application. Recently, read latency has increased significantly. The DynamoDB table has on-demand capacity mode. Which action is MOST effective to reduce read latency?

A.Add a DynamoDB Accelerator (DAX) cluster in front of the table
B.Switch the table to provisioned capacity mode with higher read capacity
C.Increase the read capacity units in the table's auto scaling settings
D.Enable DynamoDB Global Tables to distribute reads across regions
AnswerA

DAX caches reads, reducing latency.

Why this answer

DynamoDB Accelerator (DAX) is an in-memory cache that significantly reduces read latency for frequent reads, especially for high-traffic applications. Option B is incorrect because switching to provisioned capacity does not inherently reduce latency; it only manages throughput. Option C is incorrect because on-demand capacity mode does not use read capacity units or auto scaling settings for read capacity adjustments.

Option D is incorrect because Global Tables replicate data across regions for disaster recovery and global access, but do not reduce read latency for reads in the same region.

66
Multi-Selectmedium

A data engineer needs to ensure that sensitive data stored in Amazon S3 is encrypted at rest. Which TWO options meet this requirement? (Choose TWO.)

Select 2 answers
A.Server-Side Encryption with AWS KMS-Managed Keys (SSE-KMS)
B.Server-Side Encryption with S3-Managed Keys (SSE-S3)
C.Using a VPC to restrict network access
D.Enabling MFA Delete on the S3 bucket
E.Client-Side Encryption with SSL/TLS
AnswersA, B

SSE-KMS encrypts objects at rest using KMS keys.

Why this answer

Server-Side Encryption with AWS KMS-Managed Keys (SSE-KMS) allows you to enforce encryption at rest for S3 objects using a customer-managed or AWS-managed KMS key. This option meets the requirement because the encryption is applied server-side by S3 before the data is written to disk, and the data is decrypted automatically when accessed with appropriate permissions. SSE-KMS also provides an audit trail via AWS CloudTrail for every key usage.

Exam trap

The trap here is that candidates often confuse encryption in transit (SSL/TLS) with encryption at rest, or they mistakenly think network controls like VPCs or access controls like MFA Delete provide data encryption, when they only address different security domains.

67
MCQhard

A data engineer runs the above AWS CLI command to investigate who uploaded a file to an S3 bucket. The output shows the event was recorded. Which additional step is needed to confirm the identity of the user?

A.No additional step is needed; the 'Username' field already identifies the IAM user.
B.Use the 'MFA' field to check if multi-factor authentication was used.
C.View the 'accessKeyId' field in the CloudTrailEvent JSON.
D.Look up the 'sourceIPAddress' in the CloudTrailEvent.
AnswerA

The 'Username' field contains the full ARN of the IAM user who made the request.

Why this answer

The 'Username' field in the CloudTrail event log directly identifies the IAM user who made the API call. No additional step is needed to confirm the identity. Options B, C, and D are unnecessary as they provide supplementary information but do not directly identify the user when the Username is already present.

68
Multi-Selecteasy

A data engineer is monitoring Amazon CloudWatch metrics for an Amazon Redshift cluster and notices high CPU utilization. The engineer wants to reduce CPU usage. Which TWO actions should the engineer take?

Select 2 answers
A.Enable concurrency scaling to offload read queries to additional clusters.
B.Increase the number of nodes in the cluster.
C.Optimize the table design by using sort keys and compression.
D.Run the VACUUM command on all tables.
E.Enable audit logging to monitor queries.
AnswersA, C

Offloads queries, reducing CPU on main cluster.

Why this answer

Options A and C are correct. Enabling concurrency scaling offloads read queries to additional clusters, reducing CPU load on the main cluster. Optimizing table design with sort keys and compression reduces the amount of data scanned per query, lowering CPU usage.

Option B (increasing node count) increases overall CPU capacity but does not reduce usage; it may even increase cost without addressing inefficiency. Option D (running VACUUM) primarily reclaims disk space and maintains data distribution, not CPU reduction. Option E (enabling audit logging) adds CPU overhead, making it counterproductive.

69
MCQmedium

Refer to the exhibit. A data engineer sees this error in CloudWatch Logs from an AWS Glue ETL job. The job reads from an S3 location that contains both .parquet and .csv files. What is the most likely cause?

A.The S3 object was deleted during the job execution.
B.The IAM role does not have permission to read the S3 object.
C.The job is reading a CSV file that was incorrectly placed in the directory with .parquet extension.
D.The Glue job does not have enough memory to parse the Parquet file.
AnswerC

The file might have .parquet extension but be CSV, or the job is reading all files regardless of extension.

Why this answer

The error indicates that the job encountered an object that is not a valid Parquet file. Since the S3 location contains both .parquet and .csv files, the Glue job likely attempted to read a CSV file as if it were Parquet, causing the invalid Parquet error. Option C is correct because the CSV file was incorrectly placed in the directory with a .parquet extension (or the job's schema inference expects all files to be Parquet).

Option A is incorrect because the error is about format, not a missing file. Option B is incorrect because the error is about the object's format, not a permissions issue. Option D is incorrect because insufficient memory would typically cause out-of-memory or capacity errors, not an invalid Parquet error.

70
MCQhard

A data pipeline uses AWS Glue ETL jobs to process data from Amazon RDS for MySQL to Amazon S3. Recently, the jobs have been failing with the error 'Communications link failure' during the connection phase. The RDS instance is in a private subnet, and the Glue job uses a VPC endpoint for S3. What is the most likely cause?

A.The RDS database has reached the maximum number of connections.
B.The Glue job does not have IAM permissions to decrypt the RDS database using AWS KMS.
C.The JDBC driver used by Glue is incompatible with the MySQL version.
D.The Glue job does not have a network path to the RDS instance because it is not attached to the same VPC subnet.
AnswerD

Glue jobs need an ENI in the same VPC to connect to RDS.

Why this answer

The 'Communications link failure' error during connection indicates a network connectivity issue between the AWS Glue job and the RDS instance. Even if the Glue job uses a VPC endpoint for S3, that endpoint does not provide connectivity to RDS. To connect to an RDS instance in a private subnet, the Glue job must be attached to the same VPC (e.g., via an elastic network interface) or have a network path through VPC peering or VPN.

Option A (max connections) would yield a 'too many connections' error, not a communications link failure. Option B (KMS permissions) would cause an access denied error, not a connection failure. Option C (JDBC driver incompatibility) would typically produce a 'No suitable driver' or driver class not found error.

Therefore, the most likely cause is that the Glue job lacks a network path to the RDS instance.

71
MCQhard

A data engineer is troubleshooting a failed AWS Glue job that reads from an Apache Hive metastore in an Amazon EMR cluster. The error message indicates 'ClassNotFoundException: org.apache.hadoop.hive.ql.metadata.HiveException'. The Glue job uses a custom Python shell script. What is the most likely cause of this error?

A.Check the network connectivity between Glue and the EMR cluster.
B.Include the Hive JAR files in the 'Python library path' or use a Glue version with Hive support.
C.Modify the Python script to import the Hive libraries manually.
D.Update the IAM role to allow 'hive:Describe*' actions.
AnswerB

Glue needs Hive JARs in the classpath to connect to Hive metastore.

Why this answer

The ClassNotFoundException for Hive classes indicates that the required Hive JARs are not available in the Glue job's classpath. The solution is to include the Hive JAR files in the 'Python library path' or use a Glue version that supports Hive connectivity. Option A is incorrect because a network connectivity issue would cause a different error, such as a timeout or connection refused.

Option C is incorrect because simply adding an import statement in the Python script does not provide the underlying JAR files; the JARs must be included via library path. Option D is incorrect because IAM permissions do not affect class loading; the error is related to missing dependencies, not authorization.

72
MCQmedium

A data engineer notices that an AWS Glue ETL job processing data from Amazon S3 to Amazon Redshift has been failing intermittently with the error 'S3ServiceException: SlowDown'. Which action is MOST likely to resolve this issue?

A.Increase the number of partitions in the Glue job to parallelize reads.
B.Switch from a Standard to a G.2X large Glue worker type.
C.Implement exponential backoff and retry logic in the Glue job.
D.Enable S3 Transfer Acceleration on the source bucket.
AnswerC

Exponential backoff reduces request rate and handles throttling gracefully.

Why this answer

The 'S3ServiceException: SlowDown' error indicates that the AWS Glue job is making requests to Amazon S3 at a rate that exceeds the bucket's request rate limits. Implementing exponential backoff and retry logic (option C) is the most effective solution because it reduces the effective request rate by introducing delays between retries, allowing S3 to recover from throttling. Option A is incorrect because increasing partitions would likely increase the number of concurrent requests, exacerbating throttling.

Option B is incorrect because switching to a larger worker type does not affect the rate of S3 requests. Option D is incorrect because S3 Transfer Acceleration improves network transfer speed but does not reduce request throttling.

73
MCQhard

A company runs an Amazon Redshift cluster for analytics. During peak hours, query performance degrades significantly. The data engineer notices that disk space usage is above 80% on many nodes. Which of the following is the MOST effective long-term solution to improve query performance?

A.Increase the workload management (WLM) queue slots.
B.Resize the cluster to include additional nodes.
C.Apply compression encoding to all columns.
D.Run the VACUUM command to reclaim space.
AnswerB

Adding nodes increases both storage and compute resources, directly addressing disk usage and performance.

Why this answer

Resizing the cluster to include additional nodes increases both storage and compute capacity, directly addressing the high disk usage and improving query performance. Increasing WLM queue slots (Option A) only manages concurrency but does not add capacity. Compression encoding (Option C) reduces storage but may not alleviate immediate performance degradation, and is not a long-term solution for capacity.

Running VACUUM (Option D) reclaims space from deleted rows but does not add new capacity.

74
MCQeasy

A data engineer is investigating why Amazon Athena queries on the 'my-data-lake' bucket are slow. The table is partitioned by year/month/day. The exhibit shows the objects in one partition. What is the MOST likely cause of poor query performance?

A.The files are too small, causing excessive read overhead
B.The files are not compressed
C.The partition columns are not appropriately chosen
D.The data format is CSV instead of Parquet
AnswerA

Many small files cause many S3 GET requests and slow performance.

Why this answer

The exhibit shows tiny files (50 bytes), which cause excessive metadata overhead and read operations in Athena, leading to poor query performance. Option B (compression) is not indicated as the primary issue. Option C (partition columns) is likely appropriate given the partition structure.

Option D (CSV format) is not necessarily the cause; while Parquet may improve performance, the main issue here is the file size, not the format.

75
MCQeasy

A company runs an Amazon RDS for PostgreSQL database and wants to capture change data (inserts, updates, deletes) to stream into Amazon Kinesis Data Streams for real-time processing. Which AWS service should be used to capture the changes directly from the database?

A.Amazon RDS automated snapshots
B.AWS Glue ETL job scheduled to run every minute
C.Amazon Kinesis Agent
D.AWS Database Migration Service (DMS) with ongoing replication
AnswerD

DMS supports CDC and can stream changes to Kinesis.

Why this answer

AWS DMS with ongoing replication (change data capture) is the correct service because it can continuously capture insert, update, and delete operations from the PostgreSQL transaction logs (WAL) and stream them to a Kinesis Data Streams endpoint. This allows real-time processing without modifying the source database or requiring application-level triggers.

Exam trap

The trap here is that candidates confuse scheduled polling (Glue) or file-based agents (Kinesis Agent) with true CDC, failing to recognize that only DMS ongoing replication can stream row-level changes directly from the database transaction log in real time.

How to eliminate wrong answers

Option A is wrong because Amazon RDS automated snapshots are point-in-time backups of the entire database, not a mechanism to capture individual row-level changes in real time. Option B is wrong because an AWS Glue ETL job scheduled every minute introduces at least 60 seconds of latency and cannot capture every single change as it happens, making it unsuitable for true real-time streaming. Option C is wrong because Amazon Kinesis Agent is designed to stream log files (e.g., from EC2 instances) to Kinesis, not to connect directly to a database and read transactional changes from its WAL.

Page 1 of 5 · 360 questions totalNext →

Ready to test yourself?

Try a timed practice session using only Data Operations and Support questions.