Courseiva

CCNA Data Operations and Support Questions

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

151
Multi-Selecthard

A company is using Amazon EMR to run Spark jobs. The jobs are failing due to memory issues. Which THREE configurations can help mitigate out-of-memory errors?

Select 3 answers
A.Configure instance store volumes for intermediate shuffle data.
B.Use instances with more vCPUs to process more tasks in parallel.
C.Tune Spark memory configurations like spark.executor.memory and spark.memory.fraction.
D.Increase the instance type to one with more memory per node.
E.Enable Spark dynamic allocation to adjust executors based on workload.
AnswersC, D, E

Correct. Tuning parameters like spark.executor.memory and spark.memory.fraction controls how much JVM heap and unified memory are available for execution and storage, directly mitigating OOM errors.

Why this answer

The correct options are C, D, and E. Tuning Spark memory configurations (C) such as spark.executor.memory and spark.memory.fraction directly controls memory allocation within executors. Increasing the instance type to one with more memory per node (D) provides additional physical memory for Spark workloads.

Enabling Spark dynamic allocation (E) allows the cluster to automatically adjust the number of executors based on workload, which helps prevent memory pressure from over-allocation. Option A is incorrect because instance store volumes are used for temporary data storage (e.g., shuffle spills) but do not address memory constraints; they may help with disk I/O but not OOM errors. Option B is incorrect because increasing vCPUs increases parallelism, which can actually worsen memory contention if each task consumes significant memory, potentially leading to more OOM errors.

152
MCQmedium

A data engineer attempts to suspend versioning on an S3 bucket but receives the error shown. The engineer needs to suspend versioning to reduce storage costs. What should the engineer do FIRST?

A.Disable MFA Delete by using the AWS CLI with the --mfa parameter and then suspend versioning.
B.Use the AWS Management Console to suspend versioning, as it bypasses MFA Delete.
C.Delete the bucket and recreate it without versioning.
D.Add a bucket policy to allow versioning suspension.
AnswerA

MFA Delete must be disabled first; this requires the root account and MFA device.

Why this answer

To suspend versioning on an S3 bucket with MFA Delete enabled, you must first disable MFA Delete using the root account (or an account with appropriate permissions). The AWS CLI with the --mfa parameter is used to authenticate with MFA when performing sensitive operations, but disabling MFA Delete requires the root account. After disabling MFA Delete, versioning can be suspended.

Option B is incorrect because the AWS Management Console does not bypass MFA Delete; you still need to disable MFA Delete first. Option C is incorrect because deleting and recreating the bucket is unnecessarily disruptive and versioning can be suspended directly after disabling MFA Delete. Option D is incorrect because the error is due to MFA Delete being enabled, not a bucket policy issue.

153
Multi-Selecthard

A data engineer is troubleshooting a slow-running Amazon Redshift query. The query joins several large tables and performs aggregations. The engineer runs EXPLAIN and sees a 'DS_DIST_ALL' step. Which TWO actions will MOST likely improve query performance? (Choose TWO.)

Select 2 answers
A.Run the VACUUM command on all tables.
B.Use the CNAME command to rename the tables.
C.Change the distribution style of the tables to DISTSTYLE KEY on the join columns.
D.Increase the number of nodes in the Redshift cluster.
E.Define appropriate SORTKEYs on the tables based on the query predicates.
AnswersC, E

Reduces data redistribution across nodes.

Why this answer

The DS_DIST_ALL step in the query plan indicates that data is being broadcast from one node to all others, causing significant network overhead. Option C is correct because changing the distribution style to DISTSTYLE KEY on the join columns ensures that matching rows are co-located on the same node, reducing the need for redistribution. Option E is correct because defining appropriate SORTKEYs based on query predicates allows the query optimizer to use zone maps to skip irrelevant blocks, speeding up scans and aggregations.

Option A is incorrect; VACUUM reorganizes data on disk but does not affect distribution. Option B is incorrect; CNAME is a DNS record type, not a Redshift command. Option D is incorrect; increasing nodes might not directly fix the distribution issue and is less targeted than changing distribution style.

154
Multi-Selectmedium

A company uses Amazon Kinesis Data Firehose to deliver streaming data to Amazon S3. The data is in JSON format, and each record is approximately 5 KB. The company has set the buffer interval to 60 seconds and the buffer size to 5 MB. However, the data engineer observes that the delivery to S3 is delayed by up to 5 minutes during peak traffic. The engineer wants to reduce the delivery latency to under 1 minute. Which TWO actions should the engineer take? (Choose TWO.)

Select 2 answers
A.Enable GZIP compression for the delivery stream.
B.Reduce the buffer size to 1 MB.
C.Increase the buffer size to 50 MB.
D.Convert the data format to Apache Parquet before delivery.
E.Reduce the buffer interval to 10 seconds.
AnswersB, E

A smaller buffer size triggers delivery sooner when the size threshold is reached.

Why this answer

Reducing the buffer size to 1 MB triggers delivery sooner once the smaller size threshold is met, reducing latency. Option E is correct because reducing the buffer interval to 10 seconds forces Firehose to deliver data more frequently, also reducing latency. Option A is wrong because GZIP compression reduces data volume but does not directly reduce delivery latency; it may even add processing time.

Option C is wrong because increasing the buffer size would make it take longer to fill, increasing latency. Option D is wrong because converting to Parquet requires additional processing and does not directly reduce latency; it may increase it.

155
MCQhard

A company runs a data warehouse on Amazon Redshift. The data engineer notices that some queries are running slowly. Upon reviewing the system tables, the engineer finds that the 'svv_table_info' shows high 'unsorted' percentage for several large tables. What is the MOST effective action to improve query performance?

A.Run the ANALYZE command on the tables.
B.Run the VACUUM command on the tables.
C.Change the distribution style of the tables to ALL.
D.Increase the number of nodes in the Redshift cluster.
AnswerB

VACUUM sorts the data, improving query performance.

Why this answer

VACUUM sorts the data and reclaims space, improving query performance. Option A is wrong because ANALYZE updates statistics but does not sort. Option C is wrong because increasing the number of nodes may help but is not the most direct fix for unsorted data.

Option D is wrong because changing distribution style would require recreating the table.

156
Multi-Selectmedium

A data engineer is troubleshooting a slow-running Amazon Athena query. The query scans a large amount of data. Which TWO actions can improve query performance? (Choose TWO.)

Select 2 answers
A.Convert the data to Parquet or ORC format.
B.Enable encryption at rest.
C.Increase the Athena query timeout.
D.Partition the table on frequently filtered columns.
E.Use SELECT * to retrieve all columns.
AnswersA, D

Columnar formats reduce I/O and improve compression.

Why this answer

Converting data to columnar formats like Parquet or ORC reduces the amount of data scanned, and partitioning the table on frequently filtered columns allows Athena to skip reading irrelevant partitions. Both actions improve query performance. Option B (encryption) does not affect performance.

Option C (increasing timeout) only allows more time for a slow query, not improving performance. Option E (SELECT *) scans all columns, which increases data scanned and worsens performance.

157
MCQhard

A data engineer is troubleshooting a slow Amazon Redshift query. The query scans a large table with interleaved sort keys. The engineer notices that the query plan shows a sequential scan instead of a range-restricted scan. What is the MOST likely reason?

A.The table has not been vacuumed and reindexed after large data loads.
B.The table has a poor distribution key (DISTKEY) causing data skew.
C.The table uses compression encodings that prevent range-restricted scans.
D.The workload management (WLM) queue is configured with too few query slots.
AnswerA

Without VACUUM REINDEX, interleaved sort keys lose effectiveness, causing sequential scans.

Why this answer

Interleaved sort keys require periodic VACUUM REINDEX to maintain sort order. Without it, Redshift may fall back to sequential scans. Option B is incorrect because DISTKEY affects data distribution, not sort key usage.

Option C is incorrect because compression does not prevent range-restricted scans. Option D is incorrect because WLM queue slots affect concurrency, not scan type.

158
MCQhard

A data engineer is troubleshooting an AWS Glue job that writes data to an Amazon S3 bucket in Parquet format. The job runs successfully but the output files are smaller than the configured 'groupFiles' size. The engineer has set 'groupFiles' to 'inPartition' and 'groupSize' to 1 GB. The input data is 10 GB in a single partition. What is the most likely reason for the small files?

A.The 'groupFiles' parameter is deprecated in the current Glue version.
B.The 'groupFiles' parameter only affects the input read phase, not the output write phase.
C.The 'groupFiles' parameter is misspelled or set incorrectly.
D.The engineer must also set 'repartition' to 1 to merge output files.
AnswerB

Grouping coalesces small input files during reading but does not control output file size.

Why this answer

'groupFiles' only works when the input data is already small and needs to be coalesced. However, if the input is large and the job writes output, the output file size is determined by the number of Spark partitions, not grouping. The grouping feature only applies to reading input files.

Option A is wrong because the setting is correct. Option C is wrong because grouping is a read-time feature, not write-time. Option D is wrong because grouping does not require repartitioning.

159
MCQmedium

A data engineer sees the CloudWatch log entry in the exhibit for a Lambda function that processes data from an Amazon SQS queue. What is the MOST likely cause of the timeout?

A.The Lambda function's reserved concurrency is set too low.
B.The Lambda function is running out of memory.
C.The Lambda function's timeout is too short for the processing required.
D.The SQS queue's visibility timeout is set too low.
AnswerC

The function timed out at exactly the 30-second limit.

Why this answer

The CloudWatch log shows the Lambda function timed out after 30 seconds (duration 30001.23 ms), which is the default timeout. Increasing the timeout allows the function to complete its processing. Option A is incorrect because reserved concurrency affects throughput, not a single function's timeout.

Option B is incorrect because memory usage is low (64 MB out of 128 MB), so memory is not the issue. Option D is incorrect because the SQS visibility timeout controls how long a message is hidden after being picked up, but the Lambda timeout is independent.

160
MCQhard

A company runs a data pipeline on Amazon EMR that processes terabytes of data daily. The pipeline reads from Amazon S3, performs transformations using Spark, and writes results back to S3. Recently, the data engineer noticed that the EMR cluster's spot instances are frequently reclaimed, causing job failures and delays. The cluster uses a mix of On-Demand and Spot instances. The engineer wants to minimize job interruptions while keeping costs low. The current configuration uses a single EMR cluster with a core node group of 10 On-Demand instances and a task node group of 20 Spot instances. The job failures occur during the shuffle phase when tasks on Spot instances are lost. The engineer has no control over when spot instances are reclaimed. Which action will MOST effectively reduce job failures while maintaining cost efficiency?

A.Increase the number of On-Demand instances in the core node group to 20.
B.Configure the task node group to use only Spot instances and increase the bid price to the On-Demand price.
C.Change the task node group to use only On-Demand instances.
D.Enable EMR managed scaling to automatically add On-Demand instances when Spot instances are reclaimed.
AnswerD

Managed scaling dynamically adjusts the cluster capacity, adding On-Demand instances to maintain cluster stability during Spot interruptions.

Why this answer

Enabling EMR managed scaling allows the cluster to automatically add On-Demand instances when Spot instances are reclaimed, providing dynamic capacity to prevent job failures during the shuffle phase without significantly increasing costs. Option A is incorrect because increasing On-Demand instances in the core node group does not directly address the loss of Spot task nodes and can increase costs. Option B is incorrect because increasing the bid price to the On-Demand price does not guarantee avoidance of reclaims and still relies on Spot instances.

Option C is incorrect because using only On-Demand instances would eliminate Spot savings and increase costs significantly.

161
MCQhard

Refer to the exhibit. A data engineer runs the command on an object in S3. The engineer expected the object to have a tag 'type=raw' but sees no metadata. What is the likely cause?

A.Object tags are not returned by head-object; use get-object-tagging instead
B.The S3 bucket is in a different AWS Region
C.The bucket policy blocks reading tags
D.The object was created without tags because of lifecycle rules
AnswerA

Tags are separate from metadata.

Why this answer

The head-object command does not return object tags; you must use the get-object-tagging command to retrieve tags. Option B is incorrect because the head-object command succeeds regardless of region, and region does not affect tag visibility. Option C is incorrect because bucket policies can deny access but do not prevent tags from being returned by head-object; they would affect get-object-tagging instead.

Option D is incorrect because lifecycle rules do not remove tags from objects; they may transition or expire objects but do not strip metadata.

162
MCQeasy

A company runs an Amazon EMR cluster that processes data from S3 and writes results back to S3. The cluster uses Spot Instances for task nodes. Some tasks are failing due to Spot Instance interruptions. What is the BEST way to handle this without manual intervention?

A.Enable automatic node replacement in the EMR cluster
B.Manually relaunch the cluster after failures
C.Configure the application to checkpoint to S3 every few minutes
D.Use only On-Demand instances for task nodes
AnswerA

EMR can automatically replace Spot Instances that are interrupted.

Why this answer

Amazon EMR's automatic node replacement feature automatically detects when a Spot Instance is interrupted and launches a replacement instance, ensuring the cluster continues processing without manual intervention. Option B is incorrect because manually relaunching the cluster requires human intervention and is not automated. Option C is incorrect because while checkpointing to S3 can help recover data after failures, it does not automatically replace interrupted instances.

Option D is incorrect because using only On-Demand instances eliminates cost savings from Spot Instances and does not address the interruption handling problem—it avoids interruptions entirely by not using Spot Instances, but the best approach is to handle interruptions automatically with automatic node replacement.

163
MCQhard

A data engineer is monitoring an Amazon Redshift cluster and notices that some queries are experiencing high disk usage and slow performance. The engineer wants to identify the queries that are causing the most disk spills to temporary files. Which system table should the engineer query to get this information?

A.SVL_QUERY_SUMMARY
B.SYS_QUERY_DETAIL
C.STL_SCAN
D.STV_TBL_PERM
AnswerA

SVL_QUERY_SUMMARY includes bytes spilled to disk per query step.

Why this answer

SVL_QUERY_SUMMARY. This system view provides information about disk spills for each query step, including the number of bytes spilled to temporary files. It is used to identify queries causing high disk usage and slow performance due to spills.

Option B, SYS_QUERY_DETAIL, contains general query execution details but not spill information. Option C, STL_SCAN, tracks table scan operations, not disk spills. Option D, STV_TBL_PERM, shows permanent table storage statistics, not temporary spill data.

164
MCQhard

A data engineer is designing a data pipeline that ingests JSON files from an S3 bucket, transforms them using AWS Glue, and loads into Amazon Redshift. The data is updated daily, and the pipeline must handle late-arriving data from the previous day. Which approach minimizes reprocessing?

A.Use AWS Glue job bookmarks to process only new files based on S3 event notifications.
B.Stream data using Amazon Kinesis Data Firehose to Redshift.
C.Enable S3 versioning and process only the latest version of each object.
D.Schedule a full reload of all data from S3 to Redshift each day.
AnswerA

AWS Glue job bookmarks track previously processed files and process only new or changed files, which handles late-arriving data without reprocessing all data.

Why this answer

AWS Glue job bookmarks track previously processed files and process only new or changed files, which handles late-arriving data without reprocessing all data. Option B uses Amazon Kinesis Data Firehose to stream data to Redshift; this is designed for real-time streaming, not a batch pipeline with daily updates, and does not inherently handle late-arriving data without custom logic. Option C (S3 versioning) can manage multiple versions but does not provide incremental processing for late-arriving data; it would require custom logic to determine which version to process.

Option D (scheduling a full reload) would reprocess all data daily, which is inefficient and does not handle late-arriving data efficiently.

165
MCQhard

A data engineer is troubleshooting an AWS Glue ETL job that suddenly started failing with 'An error occurred while calling o103.pyWriteDynamicFrame. Unknown error'. The job writes data to an Amazon Redshift table. Which step should the engineer take FIRST?

A.Recreate the Redshift table with a different distribution style.
B.Test the job with a small sample dataset to isolate the issue.
C.Update the Redshift JDBC driver version in the Glue job.
D.Review the job's CloudWatch Logs for detailed error messages.
AnswerD

The error message 'An error occurred while calling o103.pyWriteDynamicFrame. Unknown error' is generic and does not specify the root cause. The first troubleshooting step should be to review the job's CloudWatch Logs, which provide detailed error messages, stack traces, and other diagnostic information.

Why this answer

The error message 'An error occurred while calling o103.pyWriteDynamicFrame. Unknown error' is generic and does not specify the root cause. The first troubleshooting step should be to review the job's CloudWatch Logs, which provide detailed error messages, stack traces, and other diagnostic information.

Option A is incorrect because recreating the table with a different distribution style is a premature action without understanding the cause. Option B is incorrect because testing with a small dataset may not reproduce the issue and is not the first step; logs can help determine if the issue is data-related. Option C is incorrect because updating the Redshift JDBC driver version is not the first step; log analysis should precede any changes.

166
MCQhard

A data engineer is troubleshooting an AWS Step Functions workflow that calls a Lambda function to process data. The workflow sometimes fails with a 'StateMachineExecutionLimitExceeded' error. What is the MOST likely cause?

A.Number of concurrent executions exceeds the account limit
B.Execution time exceeds the maximum allowed duration
C.Lambda function memory limit exceeded
D.Lambda function concurrency limit reached
AnswerA

Step Functions has a default limit of 1 million state transitions per account; exceeding it causes this error.

Why this answer

The error 'StateMachineExecutionLimitExceeded' indicates that the account's limit for concurrent Step Functions executions has been exceeded. Option A correctly identifies this as the most likely cause. Option B would result in an 'ExecutionTimedOut' error, not a limit error.

Option C would cause a Lambda-specific error, such as 'MemorySize', not a Step Functions limit error. Option D would result in a Lambda throttling error, not a state machine execution limit error.

167
MCQeasy

A data engineer needs to grant an IAM user read-only access to an S3 bucket named 'data-lake-bucket'. Which IAM policy statement should be attached to the user?

A.{"Effect":"Allow","Action":"s3:GetObject","Resource":"arn:aws:s3:::data-lake-bucket/*"}
B.{"Effect":"Allow","Action":"s3:ListBucket","Resource":"arn:aws:s3:::data-lake-bucket"}
C.{"Effect":"Allow","Action":"s3:PutObject","Resource":"arn:aws:s3:::data-lake-bucket/*"}
D.{"Effect":"Allow","Action":"s3:*","Resource":"arn:aws:s3:::data-lake-bucket/*"}
AnswerA

Read-only access to objects.

Why this answer

It grants read-only access by allowing only the s3:GetObject action, which permits downloading objects from the bucket. The resource ARN includes the wildcard /* to cover all objects within 'data-lake-bucket', ensuring the user can read but not list or modify data.

Exam trap

The trap here is that candidates often confuse 'read-only access' with just s3:GetObject, forgetting that listing objects (s3:ListBucket) is typically needed for practical read-only use, but the question specifically asks for read-only access to the bucket, not listing, so s3:GetObject alone suffices for the stated requirement.

How to eliminate wrong answers

Option B is wrong because s3:ListBucket alone only allows listing objects in the bucket, not reading their contents; without s3:GetObject, the user cannot download or view object data. Option C is wrong because s3:PutObject grants write access, which violates the read-only requirement. Option D is wrong because s3:* grants full administrative access to all S3 actions on the bucket, far exceeding read-only permissions.

168
MCQhard

A financial services company runs a critical data pipeline using AWS Step Functions to orchestrate multiple AWS Lambda functions and AWS Glue jobs. The pipeline processes transaction data and must complete within 15 minutes to meet a service-level agreement (SLA). Recently, the pipeline has been failing intermittently with a 'StateMachineExecutionLimitExceeded' error. The Step Functions state machine is configured with a Standard type. The company has a single state machine that runs on demand. The error occurs when multiple requests are submitted simultaneously. What should the team do to prevent this error?

A.Increase the state machine execution timeout to 30 minutes.
B.Switch the state machine type to Express Workflow to handle higher throughput.
C.Request a service quota increase for concurrent executions of Standard Workflows.
D.Increase the Lambda function reserved concurrency to 100.
AnswerC

The error is due to hitting the account-level limit for concurrent Standard Workflow executions; a quota increase resolves it.

Why this answer

The 'StateMachineExecutionLimitExceeded' error indicates that the account-level limit for concurrent Standard Workflow executions has been reached. The default limit is 1,000 concurrent executions per account per region. To handle simultaneous submissions, requesting a service quota increase is the appropriate action.

Option A (increasing timeout) does not affect concurrent execution limits. Option B (switching to Express Workflow) is not ideal because Express Workflows have a maximum duration of 5 minutes, which cannot meet the 15-minute SLA, and the error is not about throughput but about concurrency limits. Option D (increasing Lambda reserved concurrency) is unrelated to Step Functions execution limits.

169
Multi-Selecthard

A company uses Amazon Kinesis Data Analytics for Apache Flink to process streaming data. The application is experiencing high latency and checkpoint failures. Which THREE actions should the data engineer take to improve performance and reliability? (Choose three.)

Select 3 answers
A.Increase the parallelism of the Flink application
B.Configure the application to use event time processing instead of processing time
C.Increase the checkpoint interval to reduce the frequency of checkpoints
D.Decrease the parallelism to reduce resource contention
E.Disable checkpointing to avoid checkpoint failures
AnswersA, B, C

Higher parallelism improves throughput.

Why this answer

Options A, B, and C are correct. Option A: Increasing parallelism improves throughput by distributing workload across more resources. Option B: Using event time processing helps handle out-of-order data and can reduce latency and checkpoint failures by allowing more accurate watermarks.

Option C: Increasing the checkpoint interval reduces the frequency of checkpoint operations, which can reduce checkpoint failures under high load. Option D is incorrect because decreasing parallelism reduces throughput, worsening latency. Option E is incorrect because disabling checkpointing removes fault tolerance and does not improve performance.

170
MCQhard

A data pipeline using Amazon Kinesis Data Streams is experiencing high consumer lag. The stream has 10 shards. The consumer is an AWS Lambda function that processes each record and writes to Amazon DynamoDB. What is the MOST likely cause of the lag?

A.The Lambda function's reserved concurrency is set too low
B.The DynamoDB table's write capacity is throttling writes
C.The number of shards is insufficient for the data volume
D.The Lambda function is not authorized to read from Kinesis
AnswerA

Low concurrency limits parallel processing of shards.

Why this answer

The most likely cause of high consumer lag is that the Lambda function's reserved concurrency is set too low (Option A). Each Kinesis shard is processed by a single Lambda invocation, and if the function's concurrency limit is less than the number of shards (10), some shards will not be processed in parallel, leading to lag. Option B (DynamoDB write capacity throttling) could cause lag but is less common if the table is properly provisioned.

Option C (insufficient shards) is unlikely because 10 shards already provide parallelism; increasing shards would improve throughput only if Lambda concurrency is not the bottleneck. Option D (authorization) would cause errors, not just lag.

171
Multi-Selectmedium

A data engineer is setting up Amazon CloudWatch alarms for an Amazon Redshift cluster. The engineer wants to be alerted when the disk space usage exceeds 80% for more than 5 minutes and when the CPU utilization exceeds 90% for more than 10 minutes. Which TWO CloudWatch metrics and conditions should the engineer use? (Choose two.)

Select 2 answers
A.Metric: CPUUtilization; Condition: > 90 for 10 minutes
B.Metric: DatabaseConnections; Condition: > 500 for 5 minutes
C.Metric: NetworkReceiveThroughput; Condition: > 1 GB for 10 minutes
D.Metric: WLMQueueLength; Condition: > 100 for 5 minutes
E.Metric: PercentageDiskSpace; Condition: > 80 for 5 minutes
AnswersA, E

This alarm triggers on CPU usage.

Why this answer

The correct metrics and conditions are: for disk space usage exceeding 80% for more than 5 minutes, use PercentageDiskSpace with a threshold of 80 and a period of 5 minutes; for CPU utilization exceeding 90% for more than 10 minutes, use CPUUtilization with a threshold of 90 and a period of 10 minutes. These correspond to options A and E. Option B (DatabaseConnections) monitors connections, not disk or CPU.

Option C (NetworkReceiveThroughput) measures network traffic. Option D (WLMQueueLength) tracks query queue length, not disk or CPU.

172
MCQmedium

A data engineer is tasked with reducing costs for an Amazon Redshift cluster. The cluster is used for both ETL workloads and BI reporting. The engineer observes that the cluster is over-provisioned during off-peak hours. Which action would be MOST effective in reducing costs while maintaining performance during peak hours?

A.Switch to RA3 node types for managed storage.
B.Enable concurrency scaling to automatically add cluster capacity during peak hours.
C.Purchase Reserved Instances for the cluster.
D.Reduce the number of nodes in the cluster.
AnswerB

Concurrency scaling adds transient clusters only when needed, reducing cost during off-peak hours.

Why this answer

Concurrency scaling adds additional capacity on demand and is cost-effective for variable workloads. Option A is incorrect because RA3 nodes with managed storage are more about storage scaling and may not directly reduce costs for variable workloads as effectively. Option C is incorrect because Reserved Instances require upfront payment and are best for steady-state, not variable workloads.

Option D is incorrect because reducing node count may impact performance during peak hours.

173
MCQeasy

A data engineer is monitoring an Amazon EMR cluster and notices that one core node is running out of disk space. The cluster is running a Spark job that processes large Parquet files. What should the engineer do to prevent the issue?

A.Terminate the core node and replace it with a larger instance type
B.Use Spark's in-memory processing to avoid writing intermediate data to disk
C.Enable Snappy compression for intermediate data
D.Increase the number of core nodes
AnswerC

Compression reduces disk usage for intermediate data.

Why this answer

Enabling Snappy compression for intermediate data reduces the volume of data written to disk during Spark shuffle operations, directly addressing the disk space issue on the core node. Snappy provides a good balance between compression ratio and speed, minimizing I/O overhead while conserving storage. This is a standard tuning practice in Amazon EMR for Spark jobs that process large Parquet files.

Exam trap

The trap here is that candidates may confuse increasing cluster capacity (options A or D) with optimizing data handling, whereas the exam tests the understanding that compression of intermediate data directly reduces disk usage without requiring hardware changes.

How to eliminate wrong answers

Option A is wrong because terminating the core node and replacing it with a larger instance type is disruptive and does not prevent the recurrence of disk space issues; it only temporarily increases capacity without addressing the root cause of excessive intermediate data. Option B is wrong because Spark's in-memory processing cannot fully avoid writing intermediate data to disk during shuffle operations, as spill-to-disk is inherent when memory is insufficient; relying solely on in-memory processing does not prevent disk exhaustion. Option D is wrong because increasing the number of core nodes distributes the storage load but does not reduce the amount of intermediate data written per node; it may delay but not prevent disk space issues if the data volume per node remains high.

174
MCQhard

A data engineer creates an IAM policy as shown in the exhibit. The engineer then attaches this policy to an IAM role used by an application that uploads objects to the S3 bucket 'my-bucket'. When the application uploads an object without specifying server-side encryption, what happens?

A.The object is uploaded with SSE-S3 encryption by default.
B.The upload fails with a 403 Access Denied error.
C.The object is uploaded without encryption.
D.The object is uploaded with SSE-C encryption.
AnswerB

The condition is not met, so the request is denied.

Why this answer

The IAM policy includes a condition that requires the `s3:x-amz-server-side-encryption` header to be present and set to `AES256`. If the application uploads an object without specifying server-side encryption, this condition is not met, so the request is denied with a 403 Access Denied error. Options A, C, and D are incorrect because the upload fails and the object is not stored at all.

175
MCQhard

A data engineer is responsible for a data pipeline that uses Amazon S3 as a data lake, AWS Glue for ETL, and Amazon Athena for ad-hoc queries. The pipeline ingests CSV files from an external partner via SFTP into an S3 bucket. The files are then processed by a Glue job that converts them to Parquet and writes to a separate S3 bucket partitioned by date. The Glue job runs daily and is triggered by a scheduled CloudWatch Events rule. Recently, the data engineer noticed that some days the Glue job fails because of memory errors, and on those days the Athena queries that rely on the data return incomplete results. The engineer needs to ensure that the pipeline is resilient and that Athena queries always see a complete view of the data, even if the Glue job fails mid-run. The engineer also needs to minimize re-processing of data. Which course of action should the engineer take?

A.Increase the number of workers and the worker type to G.2X to handle the memory errors, and enable job retries.
B.Replace the Glue job with an AWS Lambda function that processes the CSV files and writes Parquet to S3, and use S3 Event Notifications to trigger the function.
C.Modify the Glue job to use job bookmarks for incremental processing and write the Parquet output to a temporary location, then use an S3 copy operation to move the data into the final partitioned location only after the job completes successfully.
D.Use Athena partition projection to automatically discover partitions and set up a retry mechanism using AWS Step Functions.
AnswerC

Bookmarks prevent reprocessing; atomic move ensures Athena sees complete data.

Why this answer

Using Glue job bookmarks enables incremental processing and the ability to resume from the last successful checkpoint. Staging the data in a temporary location and moving it atomically ensures that Athena sees only complete data, even if the job fails mid-run. Option A is wrong because increasing worker capacity does not prevent partial writes during failures.

Option B is wrong because using Lambda for conversion is less scalable and error-prone, and it still doesn't solve the atomicity issue. Option D is wrong because partition projection does not address the atomicity of writes after job failures.

176
MCQhard

A company ingests IoT sensor data into an S3 bucket. Daily, a Lambda function reads new objects, processes them, and writes results to a DynamoDB table. Recently, the Lambda function started timing out after 15 minutes. The data volume has increased, and the function processes records one by one. Which solution would improve performance without significant cost increase?

A.Replace Lambda with an AWS Glue ETL job.
B.Increase the Lambda function timeout to 30 minutes.
C.Use S3 Batch Operations to invoke the Lambda function in parallel for each object.
D.Increase the DynamoDB write capacity units.
AnswerC

S3 Batch Operations processes objects concurrently, drastically reducing processing time.

Why this answer

S3 Batch Operations invokes the Lambda function for each object in parallel, efficiently handling increased volume without significant cost increase. Option A is incorrect because AWS Glue ETL jobs have startup overhead and may cost more. Option B is incorrect because increasing the timeout does not address the root cause of sequential processing; the function would still process records one by one and may still timeout.

Option D is incorrect because increasing DynamoDB write capacity does not speed up the Lambda processing; the bottleneck is the sequential processing within the function.

177
MCQmedium

A data engineer is troubleshooting an AWS Glue ETL job that fails intermittently with the error 'Rate exceeded.' The job reads from an Amazon RDS for MySQL source and writes to Amazon S3. What is the MOST likely cause of this error?

A.The Glue job is using Amazon Kinesis Data Streams as a source, which has a shard throughput limit.
B.The number of Glue job workers or parallel queries is exceeding the maximum connections or IOPS of the RDS instance.
C.The Amazon S3 bucket has a bucket policy that limits the number of objects written per second.
D.The IAM role attached to the Glue job does not have sufficient permissions to read from RDS.
AnswerB

This is the typical cause of rate exceeded errors when reading from RDS.

Why this answer

The 'Rate exceeded' error when reading from RDS typically indicates that the number of connections or queries per second exceeds the RDS instance's maximum limits. Option A is incorrect because the job reads from RDS, not Kinesis. Option C is incorrect because S3 writes return a 503 SlowDown error, not 'Rate exceeded'.

Option D is incorrect because insufficient IAM permissions cause an access denied error.

178
Matchingmedium

Match each AWS data compression format to its typical use case.

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

Concepts
Matches

General-purpose, good compression ratio

Fast compression/decompression for real-time

Columnar storage with built-in compression

Optimized for Hive and large-scale analytics

High compression ratio, slower speed

Why these pairings

In AWS data engineering, compression format choice depends on trade-offs between compression ratio and speed. Snappy and LZO are optimized for speed, Gzip and Bzip2 for higher compression (with Bzip2 highest), and Zstandard offers a middle ground. Common misassociations include confusing Gzip with Bzip2 for highest compression and missing Snappy's speed focus.

179
MCQeasy

A data engineer is configuring an S3 bucket for a data lake. The engineer runs the command shown in the exhibit. What does the output indicate about the bucket?

A.Versioning is enabled on the bucket.
B.The bucket retains only the latest version of each object.
C.Versioning is suspended on the bucket.
D.MFA Delete is enabled for the bucket.
AnswerA

Status: Enabled means versioning is active.

Why this answer

'Status: Enabled' indicates that versioning is enabled on the bucket. Option B is incorrect because when versioning is enabled, all versions of objects are retained, not just the latest, unless lifecycle rules are configured to remove older versions. Option C is incorrect because the status is 'Enabled', not 'Suspended'.

Option D is incorrect because 'MFA Delete' is a separate setting; the output shows 'MFADelete: Disabled', meaning MFA Delete is not enabled.

180
Multi-Selectmedium

A data engineer is designing a data pipeline that ingests streaming data from an IoT device fleet. The data must be processed in near real-time and stored in Amazon S3 for long-term analytics. Which TWO AWS services should the engineer use together to achieve this?

Select 2 answers
A.Amazon Athena
B.AWS Glue
C.Amazon Kinesis Data Firehose
D.Amazon Kinesis Data Streams
E.Amazon Simple Queue Service (SQS)
AnswersC, D

Delivers streaming data to S3.

Why this answer

Amazon Kinesis Data Streams (Option D) enables real-time ingestion of streaming data from IoT devices. Amazon Kinesis Data Firehose (Option C) can consume data from a Kinesis Data Stream and deliver it to Amazon S3 for long-term analytics. Option A (Athena) is a query service, not an ingestion or delivery service.

Option B (AWS Glue) is designed for batch ETL, not real-time streaming. Option E (SQS) is a message queue service, not optimized for real-time streaming and delivery to S3.

181
MCQmedium

A data engineer is designing a data lake on Amazon S3. The data is accessed frequently for the first 30 days, then rarely after that. Which lifecycle policy is MOST cost-effective?

A.Transition to S3 Standard-Infrequent Access (Standard-IA) after 30 days.
B.Transition to S3 One Zone-IA after 30 days.
C.Transition to S3 Glacier Deep Archive after 30 days.
D.Keep in S3 Standard for 90 days, then delete.
AnswerA

Standard-IA is cost-effective for infrequently accessed data with low latency.

Why this answer

Transitioning to S3 Standard-Infrequent Access (Standard-IA) after 30 days is the most cost-effective because it reduces storage costs for data that is rarely accessed while maintaining low latency and high durability. Option B (One Zone-IA) offers lower durability and is not recommended for a data lake. Option C (Glacier Deep Archive) has high retrieval times, which may not be suitable even for rare access.

Option D (keeping in Standard for 90 days then deleting) is more expensive for the first 90 days and deletes data that might still be needed.

182
MCQhard

A data engineer is troubleshooting an AWS Glue ETL job that fails with an 'Access Denied' error when trying to write to an S3 bucket. The IAM role used by the job has the policy shown in the exhibit. The bucket 'my-bucket' uses S3 default encryption with AWS KMS. What is the most likely missing permission?

A.s3:GetObjectVersion
B.glue:GetObject
C.s3:ListBucketMultipartUploads
D.s3:PutObjectAcl
E.kms:GenerateDataKey and kms:Decrypt
AnswerE

KMS permissions are necessary to encrypt and decrypt objects when default encryption uses KMS.

Why this answer

When an S3 bucket uses AWS KMS for default encryption, any write operation requires the IAM role to have kms:GenerateDataKey and kms:Decrypt permissions on the KMS key. The policy in the exhibit grants s3:PutObject but does not include any KMS actions, resulting in an 'Access Denied' error. Option A (s3:GetObjectVersion) is not needed for writing.

Option B (glue:GetObject) is not a valid AWS action. Option C (s3:ListBucketMultipartUploads) is not required for a write operation. Option D (s3:PutObjectAcl) is unnecessary unless the job explicitly sets ACLs.

183
MCQmedium

A company uses Amazon Kinesis Data Streams to ingest real-time clickstream data. The data is consumed by a Lambda function that writes to an S3 bucket. Recently, the Lambda function started timing out. Which step should be taken to resolve this issue?

A.Increase the Lambda function timeout
B.Set the Lambda reserved concurrency to 1
C.Decrease the batch size in the event source mapping
D.Increase the number of shards in the Kinesis stream
AnswerA

Allows the function to run longer without timing out.

Why this answer

The Lambda function is timing out, indicating that the current timeout is insufficient for processing the records from Kinesis within the allowed time. Increasing the timeout gives the function more time to complete its work, resolving the timeout issue. Option B is incorrect because setting reserved concurrency to 1 limits the number of concurrent executions but does not increase the time available per invocation.

Option C is incorrect because decreasing the batch size reduces the number of records per invocation but does not extend the timeout; it may even increase the number of invocations. Option D is incorrect because increasing the number of shards increases the stream's throughput and may increase the number of concurrent Lambda invocations, but it does not address the root cause of the function timing out.

184
MCQeasy

A data engineer notices that an Amazon Kinesis Data Firehose delivery stream is failing to deliver data to an Amazon S3 bucket. The CloudWatch metrics show 'DeliveryToS3.Success' is 0 and 'S3.BucketExists' is 1. What is the MOST likely cause?

A.The S3 bucket has an ACL that denies access to Firehose.
B.The Firehose delivery stream Lambda transformation function is failing.
C.The IAM role for Firehose lacks s3:PutObject permission.
D.The S3 bucket does not exist.
AnswerC

Write permission is required for delivery.

Why this answer

The metric 'S3.BucketExists' is 1, confirming the S3 bucket exists, so the issue is not bucket existence. With 'DeliveryToS3.Success' at 0, the failure is in the write operation. The IAM role assumed by Firehose must have the s3:PutObject permission to deliver data; lacking it would cause all delivery attempts to fail silently, matching the observed metrics.

Exam trap

The trap here is that candidates may confuse 'S3.BucketExists' with successful delivery, or assume a missing bucket is the issue when the metric clearly shows the bucket exists, leading them to overlook the IAM permission gap.

How to eliminate wrong answers

Option A is wrong because S3 bucket ACLs are not evaluated when the IAM role grants the s3:PutObject permission via a bucket policy or identity-based policy; ACLs are legacy and Firehose uses IAM for authorization. Option B is wrong because a failing Lambda transformation function would cause 'DeliveryToS3.Success' to be 0 only if the transformation is mandatory, but the metric 'S3.BucketExists' would still be 1, and the failure would be logged as 'Lambda.ExecutionErrors' or similar, not directly as a delivery failure. Option D is wrong because 'S3.BucketExists' is 1, which explicitly indicates the bucket exists, so the bucket not existing cannot be the cause.

185
MCQeasy

A team uses Amazon Kinesis Data Analytics to process streaming data. They notice that the application's output is delayed. Which AWS service can be used to monitor the application's performance and identify bottlenecks?

A.AWS CloudTrail
B.Amazon CloudWatch
C.Amazon Athena
D.AWS X-Ray
AnswerB

CloudWatch monitors Kinesis Data Analytics with metrics like MillisBehindLatest and CPU utilization.

Why this answer

(Amazon CloudWatch) is correct because CloudWatch provides metrics and logs for monitoring Kinesis Data Analytics application performance, such as CPU utilization, memory usage, and throughput, helping to identify bottlenecks causing output delays. Option A (AWS CloudTrail) is used for auditing API calls, not performance monitoring. Option C (Amazon Athena) is an interactive query service for analyzing data in S3, not for monitoring real-time streaming applications.

Option D (AWS X-Ray) traces requests through applications but is not the primary tool for monitoring Kinesis Data Analytics performance.

186
MCQhard

A company is running a critical Amazon RDS for MySQL database. They need to implement a backup strategy that allows point-in-time recovery (PITR) with a recovery time objective (RTO) of 15 minutes and a recovery point objective (RPO) of 5 minutes. Which solution meets these requirements?

A.Enable automated backups with 1-day retention and enable Multi-AZ deployment
B.Use cross-Region automated backups and promote the replica
C.Take manual snapshots every 5 minutes and restore from the latest snapshot
D.Enable a Read Replica and promote it during a disaster
AnswerA

Automated backups provide transaction logs every 5 minutes; Multi-AZ failover is fast.

Why this answer

Automated backups enable point-in-time recovery using transaction logs that record changes every 5 minutes, achieving an RPO of 5 minutes. Multi-AZ deployment provides automatic failover to a standby instance, achieving an RTO of typically 1-2 minutes, well within the 15-minute RTO. Option B is incorrect because cross-Region automated backups replicate data to another region, but the promotion of a replica in another region can take longer than 15 minutes, and replication lag may cause RPO to exceed 5 minutes.

Option C is incorrect because manual snapshots are taken at specific points in time and do not include transaction logs; even if taken every 5 minutes, restoring from a snapshot would not provide point-in-time recovery to any point within those 5 minutes, and the restore time is typically longer than 15 minutes. Option D is incorrect because a Read Replica is an asynchronous copy; promoting a read replica to a primary instance can take several minutes, and the RPO may be higher due to replication lag, thus not meeting the 5-minute RPO or 15-minute RTO.

187
MCQmedium

A company stores sensitive data in Amazon S3 and requires that all data be encrypted at rest. The data is accessed by multiple AWS services. Which solution meets the encryption requirement with the LEAST operational overhead?

A.Use server-side encryption with AWS KMS (SSE-KMS)
B.Use client-side encryption with AWS KMS
C.Use server-side encryption with customer-provided keys (SSE-C)
D.Enable S3 default encryption with SSE-S3
AnswerD

Least overhead as AWS manages the keys.

Why this answer

Enabling S3 default encryption with SSE-S3 provides server-side encryption automatically without any key management overhead. Option A is wrong because SSE-KMS requires managing KMS keys. Option B is wrong because client-side encryption requires managing keys on the client side.

Option C is wrong because SSE-C requires managing your own keys.

188
MCQeasy

A data engineer needs to monitor Amazon DynamoDB table metrics to detect throttled requests. Which CloudWatch metric should the engineer set an alarm on?

A.ReadThrottleEvents
B.SuccessfulRequestLatency
C.ThrottledRequests
D.ConsumedWriteCapacityUnits
AnswerC

This metric directly indicates requests that were throttled.

Why this answer

`ThrottledRequests` is the specific Amazon CloudWatch metric that tracks the number of requests to a DynamoDB table that are throttled due to exceeding the provisioned throughput capacity. This metric directly reflects throttling events, making it the appropriate choice for setting an alarm to detect throttled requests.

Exam trap

The trap here is that candidates confuse `ThrottledRequests` with `ReadThrottleEvents` or `WriteThrottleEvents`, which are not actual CloudWatch metrics, leading them to select a plausible-sounding but incorrect option.

How to eliminate wrong answers

Option A is wrong because `ReadThrottleEvents` is not a valid CloudWatch metric for DynamoDB; the correct metric for throttled reads is `ReadThrottleEvents` is a misconception, as DynamoDB exposes `ThrottledRequests` and `ThrottledGetRecords` for streams, but not a separate read-only throttle metric. Option B is wrong because `SuccessfulRequestLatency` measures the latency of successful requests, not throttling events, and is used for performance monitoring rather than detecting throttled requests. Option D is wrong because `ConsumedWriteCapacityUnits` tracks the amount of write capacity consumed, not throttling events, and is used for capacity planning, not for alerting on throttled requests.

189
Multi-Selectmedium

A data engineer is designing a data pipeline using AWS Step Functions to orchestrate multiple AWS Glue ETL jobs. The pipeline must handle failures and retries. Which TWO configurations should the engineer use to ensure the pipeline is resilient? (Choose two.)

Select 2 answers
A.Configure a dead-letter queue (DLQ) for the state machine
B.Configure the state machine to use a 'Catch' rule to handle specific errors and transition to a fallback state
C.Set the 'Retry' interval to a fixed value instead of exponential backoff
D.Define a 'Timeout' for each state to prevent the pipeline from hanging indefinitely
E.Use a 'Parallel' state to run multiple Glue jobs simultaneously
AnswersB, D

Catch rules handle errors gracefully.

Why this answer

To ensure resilience in AWS Step Functions, the engineer should configure a Catch rule to handle errors by transitioning to a fallback state (Option B) and define a Timeout for each state to prevent the pipeline from hanging indefinitely (Option D). A dead-letter queue (DLQ) is not directly used by Step Functions but by services like Lambda. A fixed retry interval is less effective than exponential backoff.

Using a Parallel state is for concurrency, not resilience.

190
MCQhard

A company uses AWS Database Migration Service (DMS) to migrate an on-premises Oracle database to Amazon RDS for PostgreSQL. The migration completes successfully, but the data engineer notices that some tables have fewer rows in the target than the source. Which DMS setting should be checked to ensure full data migration?

A.The LOB mode is set to 'Limited LOB mode' instead of 'Full LOB mode'.
B.The task logs show that some rows failed to apply due to data type conversion errors.
C.The 'Enable validation' option is turned off.
D.The 'Parallel Apply' feature is disabled, slowing down the migration.
AnswerB

Failed rows would be logged and can be reviewed.

Why this answer

If some rows failed to apply due to data type conversion errors, those rows would be logged as errors and not written to the target, resulting in fewer rows. AWS DMS task logs capture these failures, and checking them is the direct way to identify rows that were skipped or rejected during migration. This is the most common cause of row count mismatches after a successful DMS task.

Exam trap

The trap here is that candidates often assume row count mismatches are always due to LOB settings or validation being off, but the most direct cause is data type conversion errors logged in the task logs, which DMS does not surface in the task status summary.

How to eliminate wrong answers

Option A is wrong because LOB mode settings (Limited vs. Full) affect how large objects are handled, not the total row count; even in Limited LOB mode, all rows are migrated, but LOB columns may be truncated if the LOB exceeds the max size. Option C is wrong because 'Enable validation' is a post-migration check that compares source and target data, but turning it off does not cause rows to be lost during migration; it only prevents validation reports from being generated.

Option D is wrong because 'Parallel Apply' affects the speed of applying changes to the target, not the completeness of data; disabling it may slow down the migration but does not cause rows to be omitted.

191
MCQeasy

A company uses Amazon Redshift for data warehousing. They notice that query performance has degraded over time. Which maintenance operation should be performed to improve performance?

A.Run the VACUUM command
B.Drop and recreate the table
C.Run the REINDEX command
D.Run the ANALYZE command
AnswerA

Correct. VACUUM re-sorts rows and reclaims space, improving performance.

Why this answer

The VACUUM command re-sorts rows according to the sort key and reclaims disk space from deleted rows, which can improve query performance. Option B is incorrect because dropping and recreating the table is a heavy operation that requires redefining the table and reloading data; it is not a standard maintenance operation for performance. Option C is incorrect because Redshift uses sort keys and distribution keys instead of indexes; there is no REINDEX command in Redshift.

Option D is incorrect because the ANALYZE command updates table statistics to help the query optimizer, but it does not physically reorganize the data; thus it may help with query planning but does not directly improve performance from data fragmentation.

192
MCQhard

A company uses Amazon EMR to run Spark jobs on a transient cluster. The jobs are submitted via a step in the cluster. The cluster is configured to auto-terminate after the last step completes. However, the cluster is not terminating even though the step shows as 'COMPLETED'. What could be the cause?

A.The cluster's root device size is too large.
B.The step failed with an error, but the status shows 'COMPLETED' due to a reporting bug.
C.The cluster is configured as a long-running cluster.
D.The step's 'ActionOnFailure' parameter is set to 'CONTINUE' and 'KeepClusterAliveOnFailure' is true.
AnswerD

These settings prevent auto-termination.

Why this answer

In Amazon EMR, the step-level parameter `KeepClusterAliveOnFailure` (or `KeepJobFlowAliveWhenNoSteps` for the cluster) can prevent auto-termination. When `ActionOnFailure` is set to `CONTINUE` and `KeepClusterAliveOnFailure` is `true`, the cluster remains running even after the last step completes, overriding the transient cluster's auto-terminate setting. Option A is incorrect because root device size does not affect termination.

Option B is incorrect because the step status 'COMPLETED' indicates success, not a bug. Option C is incorrect because the cluster is explicitly configured as transient and auto-terminating, not long-running.

193
MCQhard

Refer to the exhibit. An IAM policy is attached to an IAM user. The user is trying to upload an object to 's3://data-lake-bucket/confidential/report.pdf' using the AWS CLI. The upload fails with an AccessDenied error. What is the reason for the failure?

A.The policy does not include 's3:PutObject' action.
B.The resource ARN in the Allow statement does not cover the specific object.
C.The user does not have permission to access the bucket at all.
D.An explicit Deny statement overrides the Allow statement for the 'confidential/' prefix.
AnswerD

Explicit Deny always takes precedence over Allow.

Why this answer

The IAM policy includes an explicit Deny statement that denies all s3 actions on the 'confidential/' prefix. Even though there is an Allow statement that grants s3:PutObject on the bucket, the explicit Deny overrides it, causing the upload to fail with AccessDenied. Option A is incorrect because the policy does include the s3:PutObject action.

Option B is incorrect because the resource ARN in the Allow statement covers the bucket and objects, but the Deny specifically targets 'confidential/'. Option C is incorrect because the user does have permission to access the bucket via the Allow statement, but the Deny blocks access to the specific object under 'confidential/'.

194
MCQhard

A data engineer is optimizing an Amazon Redshift cluster that runs a nightly ETL workload. The engineer notices that the query performance degrades over the week and improves after a VACUUM operation. Which action should the engineer take to automate this maintenance and minimize impact on performance?

A.Run VACUUM manually only when performance degrades significantly.
B.Disable auto vacuum and run a manual VACUUM every night after the ETL.
C.Schedule a VACUUM command using a query scheduler like Amazon EventBridge.
D.Drop and recreate the tables weekly to avoid unsorted data.
AnswerC

Automates the maintenance task.

Why this answer

It enables automated scheduling of VACUUM using Amazon EventBridge or Redshift's query scheduler, ensuring regular maintenance without manual intervention. Option A is wrong because manual intervention only when performance degrades is not automated and allows performance to degrade unnecessarily. Option B is wrong because disabling auto vacuum and running manual VACUUM nightly is not as efficient or integrated as using a scheduler, and it may disrupt the ETL if not timed properly.

Option D is wrong because dropping and recreating tables weekly is disruptive and loses data or requires complex re-creation logic, whereas VACUUM re-sorts data in place.

195
MCQeasy

A data engineer is troubleshooting a failed AWS Glue ETL job that reads from an S3 bucket and writes to an Amazon Redshift table. The job logs show a permission error. Which IAM policy change would resolve the issue?

A.Enable encryption on the S3 bucket using AWS KMS
B.Add s3:GetObject permission to the Glue job's IAM role
C.Add redshift:DataAPI access to the Glue job's IAM role
D.Attach an IAM role with redshift:GetClusterCredentials to the Redshift cluster
AnswerC

Glue needs permission to write to Redshift via the Data API or JDBC.

Why this answer

The Glue job's IAM role needs the redshift:DataAPI permission to write to the Redshift table via the Data API. Option A is irrelevant because enabling encryption on the S3 bucket does not resolve permission errors related to Redshift. Option B is incorrect because s3:GetObject is needed for reading from S3, but the error is about writing to Redshift, not reading.

Option D is incorrect because attaching an IAM role to the Redshift cluster grants permissions to the cluster itself, not to the Glue job's role; the Glue job's role must have the redshift:DataAPI permission directly.

196
MCQeasy

A company uses Amazon S3 to store log files from multiple applications. The logs are written in JSON format. A data engineer wants to use Amazon Athena to query these logs. The logs are stored in a bucket with the following structure: 's3://logs/app1/date=2021-01-01/'. The engineer creates an Athena table with partitions. However, when querying, Athena returns zero results for partitions that exist. The engineer has run MSCK REPAIR TABLE to add partitions. What is the most likely cause of the issue?

A.The MSCK REPAIR TABLE command failed silently.
B.The partition key name in the table definition does not match the S3 folder naming convention.
C.The log files are in JSON format and Athena does not support JSON.
D.The log files need to be copied to a different bucket in the same region.
AnswerB

This is the correct answer. The S3 folder structure uses 'date=' as the partition key prefix, so the Athena table must define a partition key named 'date' exactly. If it is named differently, MSCK REPAIR will not register those folders as partitions.

Why this answer

The most likely cause is that the partition key name in the Athena table definition does not match the S3 folder naming convention. When using MSCK REPAIR TABLE, Athena relies on the partition folder structure (e.g., 'date=2021-01-01') to automatically add partitions. If the table's partition key is named differently (e.g., 'dt' instead of 'date'), MSCK REPAIR will not recognize the folders and will not register the partitions, resulting in zero results.

Option A is incorrect because MSCK REPAIR does not fail silently; it either adds partitions or reports none if the structure doesn't match. Option C is incorrect because Athena fully supports JSON format. Option D is incorrect because the bucket location does not affect partition registration; data can be queried in any bucket as long as the table points to it.

197
MCQeasy

A company runs a data pipeline on AWS Glue that processes streaming data from Amazon Kinesis Data Streams and writes results to an Amazon Redshift cluster. The pipeline has been running smoothly, but recently the Glue job started failing with 'ResourceNotFoundException' for the Redshift table. What should the data engineer check first?

A.Verify that the target Redshift table exists and was not dropped or renamed.
B.Ensure the Redshift table schema matches the Glue job output.
C.Check the IAM role permissions for the Glue job to access Redshift.
D.Review security group rules for the Redshift cluster.
AnswerA

ResourceNotFoundException indicates the table is missing.

Why this answer

The error indicates the table does not exist or was deleted. Option B is wrong because IAM role issues would cause Access Denied, not ResourceNotFoundException. Option C is wrong because network issues would cause timeout or connection refused.

Option D is wrong because schema changes could cause type mismatch but not ResourceNotFoundException.

198
MCQeasy

A company stores sensitive data in Amazon S3 and needs to ensure that data is encrypted at rest. Which AWS service can be used to manage the encryption keys?

A.AWS Key Management Service (KMS)
B.AWS Secrets Manager
C.AWS Identity and Access Management (IAM)
D.AWS Certificate Manager (ACM)
AnswerA

KMS is the service for managing encryption keys.

Why this answer

AWS Key Management Service (KMS) is the managed service for creating and controlling encryption keys used to encrypt data at rest in Amazon S3. Option A is correct. Option B (Secrets Manager) is for managing secrets like database passwords, not encryption keys.

Option C (IAM) manages access permissions, not encryption keys. Option D (Certificate Manager) handles SSL/TLS certificates, not encryption keys for data at rest.

199
MCQmedium

A data engineer is troubleshooting a data pipeline that uses Amazon Kinesis Data Firehose to deliver data to Amazon S3. The engineer notices that the S3 bucket contains many small files (less than 1 MB). This is causing performance issues in downstream processing. What is the BEST way to reduce the number of small files?

A.Increase the buffer size to at least 128 MB in the Firehose delivery stream configuration.
B.Use an AWS Lambda function to transform the data before delivery.
C.Change the compression format from GZIP to Snappy.
D.Decrease the buffer interval in the Firehose delivery stream configuration.
AnswerA

Larger buffer size leads to fewer, larger files.

Why this answer

Increasing the buffer size (e.g., to 128 MB) causes Firehose to deliver fewer, larger files, reducing the number of small files. Option B is incorrect because using a Lambda transformation does not inherently change buffering behavior. Option C is incorrect because changing the compression format (e.g., from GZIP to Snappy) affects storage size but not the number of files delivered.

Option D is incorrect because decreasing the buffer interval would cause more frequent deliveries, creating more small files.

200
MCQhard

Your company runs a data pipeline that ingests data from AWS Database Migration Service (DMS) into Amazon S3 in Parquet format. An AWS Glue ETL job then transforms the data and loads it into an Amazon Redshift cluster. The Glue job uses a JDBC connection to Redshift. Recently, the Glue job started failing with a 'communication failure' error when writing to Redshift. The Redshift cluster is in a VPC with public accessibility disabled. The Glue job runs in a VPC with a subnet that has a route to a NAT gateway. The security group for Redshift allows inbound traffic from the Glue job's security group. The Glue job's IAM role has the necessary permissions. What is the most likely cause?

A.The Glue job's IAM role does not have the redshift:DescribeClusters permission.
B.The Redshift cluster's public accessibility is disabled, but the Glue job is trying to connect over the internet.
C.The Glue job and Redshift cluster are in different VPCs that are not peered or connected via VPC Transit Gateway.
D.The NAT gateway is not configured to allow traffic to the Redshift cluster's subnet.
AnswerC

Without VPC peering or transit gateway, the Glue job cannot reach the Redshift cluster.

Why this answer

Even though the security group allows inbound traffic, the Glue job's VPC may not have a route to the Redshift cluster's VPC if they are in different VPCs. Option A is wrong because IAM permissions are not the issue. Option B is wrong because the Redshift cluster is in a VPC and not publicly accessible.

Option D is wrong because the NAT gateway is for outbound internet, not for connecting to Redshift within the same VPC.

201
MCQmedium

A data engineering team notices that an AWS Glue ETL job, which processes hourly data from an S3 bucket, is taking progressively longer to run. The job reads Parquet files partitioned by date and hour. Which action is MOST likely to improve the job's performance?

A.Enable pushdown predicate filtering on the job's data source.
B.Convert Parquet files to CSV to improve read performance.
C.Increase the number of DPUs for the job.
D.Switch from Spark to Python shell for simpler processing.
AnswerA

Pushdown predicates filter data at the source, reducing data scanned.

Why this answer

Enabling pushdown predicate filtering allows the Glue job to read only the relevant partitions (e.g., specific date and hour) instead of scanning all data. This directly addresses the symptom of progressively longer run times as data accumulates. Option B is incorrect because Parquet is a columnar format optimized for performance, while CSV would increase I/O.

Option C, increasing DPUs, can improve parallelism but does not reduce the amount of data read, so it may not address the root cause. Option D, switching to Python shell, would lose Spark's distributed processing capabilities and is unlikely to improve performance.

202
MCQmedium

A data engineer needs to set up a cross-account access for an S3 bucket so that users in Account B can read objects. The bucket in Account A has a bucket policy that grants access. What additional step is required?

A.Enable S3 object ACLs on the bucket.
B.Create an IAM role in Account B and attach a policy that allows s3:GetObject for the bucket.
C.Disable S3 Block Public Access settings on the bucket.
D.Set up an S3 Lifecycle policy to replicate objects to Account B.
AnswerB

Users in Account B need an IAM role or user with explicit permissions to access the bucket.

Why this answer

Cross-account S3 access requires both a bucket policy in the source account (Account A) that grants permissions to the target account or role, and an IAM role in the target account (Account B) with a policy allowing the necessary actions (e.g., s3:GetObject). This ensures that users in Account B can assume the role and access the bucket. Option A (enabling ACLs) is unnecessary and not recommended; ACLs are legacy and can be disabled.

Option C (disabling Block Public Access) is not required because the bucket policy is not public; it only grants cross-account access to a specific role. Option D (lifecycle policy) is for object lifecycle management and does not provide access control.

203
MCQmedium

A company uses Amazon S3 to store raw data files. An AWS Glue crawler creates metadata in the Data Catalog. The data engineer discovers that the crawler is not detecting new partitions after new data is added to the S3 bucket. What is the MOST likely cause?

A.The IAM role used by the crawler does not have kms:Decrypt permission for the KMS key that encrypts the new partitions.
B.The crawler configuration has 'Crawl all folders' disabled.
C.The S3 bucket has too many objects, exceeding the crawler's limit.
D.The crawler does not have S3 event notifications enabled.
AnswerA

Without decrypt permission, the crawler cannot read the data.

Why this answer

When new partitions are added to an S3 bucket encrypted with AWS KMS (SSE-KMS), the AWS Glue crawler needs the kms:Decrypt permission to read the object metadata and detect the new partitions. Without this permission, the crawler cannot list the objects or determine the partition structure, so it fails to update the Data Catalog. Option B is incorrect because the crawler's partition detection is not disabled by default; the 'Crawl all folders' setting is for crawling subfolders, not for partition detection.

Option C is incorrect because AWS Glue crawlers can handle large numbers of objects, and there is no specific limit that would prevent partition detection. Option D is incorrect because S3 event notifications are not required for crawling; the crawler periodically scans the S3 location and does not rely on events to detect changes.

204
Multi-Selectmedium

A data engineer is monitoring an Amazon Kinesis Data Analytics for Apache Flink application that processes streaming data. The application is falling behind (increasing 'MillisBehindLatest') and the CPU utilization of the Flink task managers is consistently above 80%. Which THREE actions should the engineer take to improve performance? (Choose THREE.)

Select 3 answers
A.Increase the number of shards in the Kinesis data stream.
B.Decrease the checkpoint interval to reduce state size.
C.Enable auto-scaling for the Flink application.
D.Decrease the number of task managers to reduce CPU contention.
E.Increase the Flink application's parallelism.
AnswersA, C, E

More shards allow higher ingestion rate.

Why this answer

Increasing the number of shards in the Kinesis data stream (Option A) directly increases the ingestion capacity and parallelism source for the Flink application. With more shards, the application can read data from more partitions concurrently, reducing the backlog indicated by 'MillisBehindLatest'. This is a fundamental scaling action for Kinesis-based Flink applications.

Exam trap

The trap here is that candidates often confuse decreasing checkpoint intervals with improving performance, not realizing that more frequent checkpoints increase CPU and I/O overhead, making the lag worse.

205
Multi-Selecteasy

A data engineer is setting up a new Amazon Redshift cluster for a data warehouse. The engineer wants to ensure data durability and high availability. Which THREE features should the engineer consider? (Choose three.)

Select 3 answers
A.S3 Cross-Region Replication for Redshift data.
B.Cross-Region snapshot copy.
C.Multi-node cluster with data replication.
D.Multi-AZ deployment for automatic failover.
E.Automated snapshots to Amazon S3.
AnswersB, C, E

Cross-Region copies protect against region failures.

Why this answer

Options B, C, and E are correct. B: Cross-Region snapshot copy allows copying snapshots to another AWS Region, protecting against regional disasters. C: Multi-node clusters with data replication within the cluster provide high availability by distributing data across nodes and automatically mirroring data.

E: Automated snapshots to Amazon S3 enable point-in-time recovery for durability. Option A is incorrect because S3 Cross-Region Replication applies to S3, not directly to Redshift data. Option D is incorrect because Redshift does not support Multi-AZ deployments; it relies on automatic failover within the cluster using multiple nodes.

206
Multi-Selecteasy

A data engineer is designing a data pipeline that processes streaming data. The pipeline must be able to handle duplicate records and ensure exactly-once processing semantics. Which THREE AWS services or features should the engineer consider? (Choose three.)

Select 3 answers
A.Amazon EMR with Apache Flink for exactly-once semantics.
B.Amazon Kinesis Data Firehose with automatic retries.
C.Amazon Kinesis Data Streams with sequence numbers for deduplication.
D.Amazon DynamoDB Streams for change data capture.
E.Amazon Kinesis Data Analytics for Apache Flink with idempotent sinks.
AnswersA, C, E

Flink on EMR provides exactly-once processing via checkpointing.

Why this answer

The three correct options are A, C, and E. Option A (Amazon EMR with Apache Flink) supports exactly-once processing semantics through checkpointing and fault tolerance. Option C (Amazon Kinesis Data Streams with sequence numbers) enables deduplication to achieve exactly-once processing.

Option E (Amazon Kinesis Data Analytics for Apache Flink with idempotent sinks) ensures exactly-once delivery by recognizing and ignoring duplicates. Options B and D are incorrect: Amazon Kinesis Data Firehose provides at-least-once delivery, and Amazon DynamoDB Streams also provides at-least-once delivery, not exactly-once semantics.

207
MCQmedium

A data engineer is troubleshooting an AWS Glue ETL job that fails with a 'java.lang.OutOfMemoryError: Java heap space' error. The job processes a 50 GB Parquet file from an S3 bucket. The job uses a G.1X DPU (16 GB memory) and default parameters. Which action should the engineer take to resolve the issue?

A.Change the worker type to G.2X (32 GB memory).
B.Increase the number of workers from 2 to 4.
C.Increase the 'batch size' parameter in the DynamicFrame reader.
D.Convert the input data from Parquet to JSON format.
AnswerA

Doubling the memory per worker resolves the heap space error without changing the number of workers.

Why this answer

Changing the worker type to G.2X (32 GB memory) doubles the memory per worker, directly addressing the Java heap space error. Option B is incorrect because increasing the number of workers does not increase memory per worker; each G.1X DPU still has only 16 GB. Option C is incorrect because increasing the batch size would increase the amount of data loaded into memory per worker, potentially worsening the memory issue.

Option D is incorrect because converting from Parquet to JSON typically increases file size and memory usage due to lack of compression and columnar storage.

208
MCQmedium

A company uses Amazon S3 to store log files from multiple sources. The logs are partitioned by year, month, day, and hour. A data engineer uses Amazon Athena to query the logs. Recently, users have reported that queries are taking longer than expected. The engineer notices that many queries are scanning large amounts of data even when filtering on partition columns. The total data size is 10 TB, and the average query scans 2 TB. The partition columns are properly defined in the table schema. What is the most likely cause of the slow queries?

A.The number of partitions is too large, causing Athena to spend time listing partitions.
B.The table is not partitioned, or the partitions are not properly defined in the table DDL.
C.The log files are stored in compressed format (e.g., gzip), which increases the amount of data scanned.
D.The log files are stored in CSV format instead of columnar formats like Parquet.
AnswerB

Without proper partitions, Athena scans the entire dataset, causing high scan volumes and slow queries.

Why this answer

The most likely cause. Although the partition columns are defined in the table schema, partition pruning in Athena only works if the data is stored in a matching Hive-style partition layout (e.g., s3://bucket/year=2024/month=01/day=01/hour=12/). If the S3 prefix does not follow this pattern, Athena must scan all partitions, resulting in large data scans.

Option A is incorrect because a large number of partitions can cause slow metadata operations but does not inherently increase the amount of data scanned; partition pruning still applies. Option C is incorrect because compressed files reduce the amount of data scanned, not increase it. Option D is incorrect because while columnar formats like Parquet improve query performance by reading only necessary columns, they do not affect partition pruning; the issue here is that partitions are not being pruned.

209
MCQeasy

A data engineer creates an Amazon DynamoDB table using the CloudFormation snippet in the exhibit. The application writes 200 items per second to the table. The engineer notices that many write requests are being throttled. What is the MOST likely reason?

A.The table does not have a sort key, causing hot partitions.
B.The attribute type for OrderID should be numeric for better performance.
C.The table name 'Orders' conflicts with an existing table.
D.The provisioned write capacity is too low for the application's write rate.
AnswerD

5 WCU allows only 5 writes per second (1 KB each).

Why this answer

The table is provisioned with only 5 write capacity units, which allows 5 writes per second (each write up to 1 KB). With 200 writes per second, the table is severely under-provisioned. Option A is incorrect because the key schema is fine for a primary key.

Option B is incorrect because the attribute type is correct. Option C is incorrect because the table name is valid.

210
Multi-Selecthard

A data engineer is troubleshooting an AWS Glue job that reads from an Amazon RDS for PostgreSQL database using a JDBC connection. The job fails with the error 'java.sql.SQLException: No suitable driver'. Which TWO actions should the engineer take to resolve this issue? (Select TWO.)

Select 2 answers
A.Verify that the connection string in the job's JDBC URL uses the correct format and includes the driver class
B.Check that the Glue job's VPC and security groups allow outbound traffic to the RDS instance
C.Restart the Glue job with a higher timeout value
D.Include the PostgreSQL JDBC driver JAR as a dependent library in the Glue job
E.Update the IAM role associated with the Glue job to allow 'rds:*' permissions
AnswersA, D

The JDBC URL must be correctly formatted, e.g., 'jdbc:postgresql://...'.

Why this answer

The 'No suitable driver' error in JDBC indicates that the driver class specified in the JDBC URL is either missing or incorrect. For PostgreSQL, the JDBC URL must follow the format 'jdbc:postgresql://host:port/database' and the driver class must be 'org.postgresql.Driver'. If the URL is malformed or the driver class is not properly referenced, the Glue job cannot load the driver, leading to this specific SQLException.

Exam trap

The trap here is that candidates often confuse network connectivity issues (VPC/security groups) with classpath/driver loading errors, leading them to select Option B instead of recognizing that 'No suitable driver' is a Java classloading problem, not a network one.

211
MCQmedium

Refer to the exhibit. A data engineer runs a Glue ETL job that reads from a CSV file and writes to a Redshift table. The job fails with the error shown. What is the most likely cause?

A.The source CSV file has fewer columns than the target table.
B.The IAM role for the Glue job does not have permission to write to Redshift.
C.The target Redshift table has mismatched data types for some columns.
D.The Glue job is using an incorrect number of partitions for the source data.
AnswerA

Error says columns (10) does not match expected (12).

Why this answer

The error indicates a column count mismatch. The source file has 10 columns but the target expects 12. Option B is wrong because the error is about column count, not data type.

Option C is wrong because there is no mention of partition count. Option D is wrong because the error is about validation, not permissions.

212
MCQhard

Refer to the exhibit. A data engineer is configuring an AWS Lambda function to process records from a Kinesis stream. The function is set up with an event source mapping, but no records are being processed. The Lambda function's IAM role has the policy shown. What is the most likely reason for the issue?

A.The policy does not grant permission to describe the Kinesis stream.
B.The IAM policy does not include all the necessary Kinesis actions for the event source mapping to work.
C.The policy includes too many actions, which causes a conflict.
D.The resource ARN for the Lambda function in the policy is incorrect.
AnswerB

Missing kinesis:ListShards action.

Why this answer

The IAM policy attached to the Lambda function's execution role is missing key Kinesis actions required for the event source mapping to operate. Specifically, while the policy includes kinesis:DescribeStream and kinesis:GetRecords, it lacks kinesis:GetShardIterator and kinesis:ListShards. These actions are necessary for the Lambda service to poll the stream, retrieve shard iterators, and process records.

Without them, the event source mapping cannot read from the Kinesis stream, resulting in no records being processed. Therefore, option B is correct: the policy does not include all necessary Kinesis actions.

213
Multi-Selecthard

A data engineer is troubleshooting a failed AWS Glue ETL job that reads from an S3 bucket. The job logs show the following error: 'java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.s3a.S3AFileSystem not found'. Which TWO actions will resolve this issue?

Select 2 answers
A.Enable VPC S3 endpoint for the Glue job.
B.Include the hadoop-aws jar as an extra jar in the Glue job configuration.
C.Update the IAM role to allow access to S3.
D.Use a Glue version that includes the S3A filesystem library (e.g., Glue 3.0 or later).
E.Change the S3 access mode from S3A to EMRFS.
AnswersB, D

Adds the missing class to the classpath.

Why this answer

The error 'ClassNotFoundException: Class org.apache.hadoop.fs.s3a.S3AFileSystem' indicates the S3A filesystem library is missing from the classpath. Option B resolves this by adding the hadoop-aws jar as an extra jar, which provides the S3AFileSystem class. Option D resolves it by using a Glue version (3.0 or later) that includes the S3A library by default.

Option A (VPC endpoint) addresses networking, not classpath. Option C (IAM role) addresses permissions, not missing classes. Option E (EMRFS) is for Amazon EMR, not AWS Glue.

214
MCQhard

A data engineer applies the above S3 bucket policy to an S3 bucket used by a Glue ETL job. The Glue job writes objects to the bucket. Which of the following is true about the behavior of the policy?

A.The policy allows PutObject with aws:kms encryption because the Allow statement is broader.
B.The policy allows PutObject with no encryption because the Deny only applies to PutObject.
C.The policy denies all PutObject requests because the Allow and Deny statements are contradictory.
D.The policy allows PutObject with AES256 encryption and denies PutObject with aws:kms encryption.
AnswerC

The Allow requires AES256, the Deny requires aws:kms; no request can satisfy both, and Deny overrides Allow.

Why this answer

In AWS IAM policy evaluation, an explicit Deny always overrides any Allow. The policy has an Allow statement granting s3:PutObject for all principals, but a separate Deny statement explicitly denies s3:PutObject when the encryption condition is not aws:kms. Since the Deny applies to all PutObject requests (including those with no encryption or AES256), and the Allow does not include a condition to match only aws:kms, the Deny takes precedence and blocks all PutObject requests, making the policy effectively deny all PutObject operations.

Exam trap

The trap here is that candidates assume an Allow statement with a broader scope can override a Deny, but AWS IAM policy evaluation strictly enforces that an explicit Deny always takes precedence over any Allow, making the policy effectively deny all actions that match the Deny condition.

How to eliminate wrong answers

Option A is wrong because the Allow statement does not include a condition requiring aws:kms encryption; it is unconditional, but the explicit Deny overrides it, so PutObject with aws:kms is also denied. Option B is wrong because the Deny statement explicitly denies PutObject when the encryption condition is not aws:kms, which includes requests with no encryption; however, the Deny also applies to all PutObject requests because the condition key 's3:x-amz-server-side-encryption' is not present in requests without encryption, causing the Deny to match and block them. Option D is wrong because the Deny statement denies PutObject when the encryption is not aws:kms, which includes AES256 and no encryption, but the explicit Deny overrides the Allow, so no PutObject is allowed at all, not even with AES256.

215
MCQeasy

A company stores sensitive data in Amazon S3 and uses AWS Lake Formation to manage fine-grained access control. A data engineer notices that users are able to access data in S3 directly via the AWS Management Console, bypassing Lake Formation permissions. What should the engineer do to enforce Lake Formation access controls for all access methods?

A.Add a bucket policy that denies all access except from Lake Formation.
B.Disable AWS CloudTrail logging for S3 access.
C.Register the S3 location in Lake Formation and disable IAM access control for the registered location.
D.Enable S3 Block Public Access on the bucket.
AnswerC

This ensures Lake Formation controls all access to the data.

Why this answer

To enforce Lake Formation permissions for all access methods, you must register the S3 location in Lake Formation and disable IAM access control for that location. This ensures that Lake Formation's fine-grained permissions are enforced, preventing direct S3 access. Option A is incorrect because adding a bucket policy that denies all access except from Lake Formation is not the recommended approach and can break legitimate access.

Option B is incorrect because disabling CloudTrail does not affect access control. Option D is incorrect because S3 Block Public Access only prevents public access, not IAM user access.

216
MCQeasy

A data engineer is troubleshooting an AWS Glue ETL job that fails with a memory error when processing a large dataset. Which approach can help reduce memory usage?

A.Set the job to use only one worker
B.Reduce the number of partitions in the data source
C.Increase the number of workers for the job
D.Increase the worker type to G.2X
AnswerC

Increasing the number of workers distributes the workload across more resources, reducing memory pressure per worker.

Why this answer

Increasing the number of workers distributes the workload across more resources, reducing memory pressure per worker. Option A is incorrect because using only one worker reduces parallelism and increases memory consumption per worker, worsening the issue. Option B is incorrect because reducing partitions increases the size of each partition, leading to higher memory usage per task.

Option D is incorrect because although increasing the worker type to G.2X provides more memory per worker, it does not increase parallelism and may be less cost-effective than increasing the number of workers.

217
Multi-Selecthard

A company runs a data lake on Amazon S3 with AWS Glue and Amazon Athena. The data engineer notices that queries are slow and scanning large amounts of data. Which THREE actions should the engineer take to optimize query performance and reduce costs?

Select 3 answers
A.Increase the query timeout in Athena.
B.Increase the number of DPUs in the Glue job.
C.Compress data files using gzip or snappy.
D.Partition the data by frequently filtered columns (e.g., date, region).
E.Use columnar data formats like Parquet or ORC.
AnswersC, D, E

Reduces storage and data scanned.

Why this answer

The correct actions to optimize query performance and reduce costs are C, D, and E. Compressing data (C) reduces the amount of data scanned, lowering costs and improving I/O. Partitioning (D) by frequently filtered columns (e.g., date, region) allows Athena to prune partitions, scanning only relevant data.

Using columnar formats like Parquet or ORC (E) improves compression and enables column pruning, reducing scan size and improving performance. Option A (increasing query timeout) does not reduce data scanned or improve performance; it only allows queries to run longer before failing. Option B (increasing DPUs in a Glue job) is unrelated to Athena query performance; DPUs are for Glue ETL jobs, not Athena queries.

218
MCQeasy

A company runs a data pipeline that uses AWS Lambda to process files uploaded to an S3 bucket. Recently, some files have been processed multiple times. The Lambda function is triggered by S3 event notifications. What is the MOST likely cause of duplicate processing?

A.The Lambda function has a high error rate and retries.
B.The Lambda function is not idempotent.
C.The Lambda function has a reserved concurrency setting.
D.S3 event notifications are delivered at least once.
AnswerD

S3 can send duplicate events.

Why this answer

S3 event notifications are delivered at least once, meaning they can be sent multiple times, causing the Lambda function to be invoked repeatedly for the same file. This is the most likely cause of duplicate processing. Option A is incorrect: while Lambda retries on error for asynchronous invocations, it retries the same failed invocation, not creating multiple invocations for a successful event.

Option B is incorrect: lack of idempotency does not cause duplicates; it simply means the function might not handle duplicates properly, but the root cause is the duplicate trigger. Option C is incorrect: reserved concurrency limits the number of concurrent executions but does not generate duplicate invocations.

219
MCQeasy

A data engineer needs to set up a disaster recovery solution for an Amazon RDS for MySQL database. The database must be available in another AWS Region with minimal data loss. What is the simplest approach?

A.Enable Multi-AZ deployment in the same Region.
B.Set up AWS Database Migration Service (DMS) for continuous replication.
C.Take a manual snapshot and copy it to the other Region daily.
D.Create a cross-Region read replica of the database.
AnswerD

A read replica can be promoted to a standalone DB in a disaster, with minimal data loss.

Why this answer

Cross-Region read replica. Amazon RDS for MySQL supports cross-Region read replicas, which provide asynchronous replication to another Region. In a disaster, you can promote the read replica to a standalone primary database, minimizing data loss (typically seconds).

Option A is wrong because Multi-AZ is within a single Region and does not provide cross-Region protection. Option B is wrong because AWS DMS is a separate service that requires ongoing management and cost; it is not the simplest approach. Option C is wrong because manual snapshots copied daily have a Recovery Point Objective (RPO) of up to 24 hours, resulting in significant data loss.

220
MCQmedium

A company uses AWS Lake Formation to manage permissions on a data lake stored in S3. A data analyst reports that they can see a table in the AWS Glue Data Catalog but cannot query it using Amazon Athena. The analyst has been granted 'SELECT' permission on the table in Lake Formation. The table's underlying S3 location is encrypted with AWS KMS. The IAM role used by Athena has the necessary S3 and KMS permissions. What is the most likely reason for the failure?

A.The analyst does not have 'DESCRIBE' permission on the table.
B.Athena is not integrated with Lake Formation.
C.The KMS key policy does not allow the analyst's IAM role to decrypt.
D.The analyst does not have 'DESCRIBE' permission on the database.
AnswerA

Athena needs DESCRIBE on the table to retrieve metadata; without it, queries fail.

Why this answer

Lake Formation requires explicit grant of 'DESCRIBE' permission on the table for Athena to read metadata; SELECT alone is insufficient. Option B is incorrect because Athena can be integrated with Lake Formation. Option C is incorrect because KMS permissions are already in place.

Option D is incorrect because the analyst can see the table, meaning DESCRIBE is not required at the database level.

221
MCQhard

A company runs an Amazon EMR cluster with Spark jobs. One job fails with 'Container killed by YARN for exceeding memory limits'. The data engineer has already increased the executor memory. What is the NEXT best step to resolve the issue?

A.Set spark.executor.memoryOverhead to a higher value.
B.Increase the YARN container memory allocation (yarn.nodemanager.resource.memory-mb).
C.Decrease the number of Spark partitions.
D.Increase the driver memory.
AnswerB

This allows larger containers, preventing YARN from killing them.

Why this answer

Increasing the yarn.nodemanager.resource.memory-mb allows YARN to allocate larger containers, preventing the kill. Option A: Setting spark.executor.memoryOverhead increases off-heap memory but may still exceed YARN limits if they are not also raised. Option C: Reducing partitions decreases parallelism and may reduce memory per executor, but does not address the root cause of insufficient container memory.

Option D: Increasing driver memory is not relevant because the issue is with executors.

222
MCQhard

A data engineer is monitoring an Amazon Redshift cluster using Amazon CloudWatch. The engineer notices that the 'WriteThroughput' metric is consistently below the provisioned IOPS for the cluster's EBS volumes. The query performance is slower than expected. Which action is MOST likely to improve write performance?

A.Reduce the number of concurrent queries to the database.
B.Upgrade to a larger node type with more CPU and memory.
C.Add sort keys to the tables to improve data distribution.
D.Increase the provisioned IOPS on the EBS volumes.
AnswerB

Larger nodes provide more processing power, improving write throughput.

Why this answer

The 'WriteThroughput' metric being consistently below the provisioned IOPS indicates that the EBS volumes are not the bottleneck; the bottleneck is more likely insufficient compute resources (CPU/memory). Upgrading to a larger node type (e.g., from DC2 to RA3 or a higher node size) increases CPU and memory, which can improve query processing and write performance. Option A is incorrect because reducing concurrent queries may help with contention, but if the underlying node lacks resources, it won't fully address the low throughput.

Option C is incorrect because sort keys primarily optimize read performance (e.g., range-restricted scans), not write throughput. Option D is incorrect because increasing IOPS on EBS volumes will not help when the provisioned IOPS are already not being fully utilized.

223
MCQeasy

A data engineer needs to transfer 10 TB of data from an on-premises data center to Amazon S3. The network bandwidth is limited to 100 Mbps, and the data transfer must be completed within 5 days. What is the most cost-effective solution?

A.Use AWS Snowball Edge to physically ship the data.
B.Use S3 Transfer Acceleration to speed up the transfer over the internet.
C.Use AWS DataSync over the internet to transfer the data.
D.Set up an AWS Direct Connect connection to increase bandwidth.
AnswerA

Snowball bypasses network limitations and is cost-effective for large data volumes.

Why this answer

With 10 TB of data and a 100 Mbps link, the theoretical transfer time over the internet is approximately 10 days (10 TB * 8 / 100 Mbps = 800,000 seconds ≈ 9.26 days), which exceeds the 5-day requirement. AWS Snowball Edge is the most cost-effective solution because it bypasses the network bottleneck entirely by physically shipping the data, and it is designed for large-scale data transfers where network constraints make online transfer impractical.

Exam trap

The trap here is that candidates assume S3 Transfer Acceleration or DataSync can magically overcome bandwidth limitations, but they only optimize the path, not increase the pipe size, so the math of bandwidth vs. data volume always dictates the minimum transfer time.

How to eliminate wrong answers

Option B is wrong because S3 Transfer Acceleration only optimizes the network path using AWS edge locations and does not increase the available bandwidth; it cannot overcome the fundamental 100 Mbps bottleneck, so the transfer would still take over 9 days. Option C is wrong because AWS DataSync over the internet is still limited by the 100 Mbps bandwidth, and even with optimization, it cannot complete 10 TB within 5 days. Option D is wrong because setting up AWS Direct Connect requires significant upfront cost and provisioning time (often weeks), making it neither cost-effective nor timely for a one-time transfer within 5 days.

224
MCQhard

A data engineer is troubleshooting a slow Amazon Redshift query that joins a large fact table with several dimension tables. The EXPLAIN plan shows a hash join on the distribution key, but the query still runs slowly. The fact table is distributed by KEY(column_x) and the dimension tables are distributed ALL. The engineer notices that the fact table has a high number of rows with the same value in column_x. What is the most likely cause of the slow performance?

A.The fact table's distribution key column has data skew, causing uneven data distribution across nodes.
B.The dimension tables should be distributed by KEY instead of ALL.
C.The Redshift cluster does not have enough disk space.
D.The fact table does not have a sort key.
AnswerA

Skew leads to some nodes doing more work, slowing the query.

Why this answer

Data skew in the distribution key column_x causes some slices to hold a disproportionate number of rows, leading to uneven workload distribution during the hash join. The EXPLAIN plan shows a hash join on the distribution key, which should be efficient if data is evenly distributed, but skew forces the node with the most rows to become a bottleneck, slowing the entire query.

Exam trap

The trap here is that candidates often assume a hash join on the distribution key is always optimal, overlooking that data skew in the distribution key itself can negate the benefit and cause severe performance degradation.

How to eliminate wrong answers

Option B is wrong because distributing dimension tables by KEY would likely worsen performance by requiring redistribution or broadcasting during joins, whereas ALL distribution is optimal for small dimension tables to avoid data movement. Option C is wrong because insufficient disk space would manifest as disk-full errors or failed writes, not as slow query performance with a hash join plan. Option D is wrong because while a sort key can improve query performance for range-restricted scans, the EXPLAIN plan indicates the bottleneck is the hash join on the distribution key, not a missing sort key.

225
MCQmedium

Refer to the exhibit. An IAM policy is attached to a user who needs to read objects from the 'example-bucket' S3 bucket. The user reports being unable to read any object under the 'confidential/' prefix. What is the reason for this access issue?

A.The allow statement is evaluated before the deny statement
B.The deny statement is missing an explicit allow for the confidential prefix
C.The explicit deny statement overrides the allow statement
D.The resource ARN in the deny statement is incorrect
AnswerC

Explicit deny overrides all allows.

Why this answer

An explicit deny statement overrides any allow statement, regardless of the order in which they appear. In this policy, there is an allow for GetObject on all objects in example-bucket, but there is an explicit deny for GetObject on the 'confidential/' prefix. Since explicit deny takes precedence, the user cannot read objects under that prefix.

Option A is incorrect because the order of evaluation does not matter; explicit deny always wins. Option B is incorrect because the deny statement does not need an explicit allow; the deny itself is effective. Option D is incorrect because the resource ARN in the deny statement is correctly specified as 'arn:aws:s3:::example-bucket/confidential/*'.

← PreviousPage 3 of 5 · 360 questions totalNext →

Ready to test yourself?

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