Courseiva

CCNA Data Operations and Support Questions

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

226
MCQhard

A data engineer notices that an Amazon Athena query on a partitioned table in S3 scans more data than expected. The table is partitioned by year, month, day. The query includes a WHERE clause on a non-partition column but also filters on day='2023-01-01'. What is the most likely cause of the excessive data scan?

A.The data is stored in JSON format instead of Parquet
B.The table is not partitioned by the column used in the WHERE clause
C.The partition column data type in the table definition does not match the actual partition folder names
D.The data is not sorted within partitions
AnswerC

If the partition column is defined as string but folders are dates, pruning fails and full scan occurs.

Why this answer

The most likely cause is that the partition column data type in the table definition does not match the actual partition folder names. Athena uses the folder names to determine which partitions to scan (partition pruning). If the data type mismatch causes Athena to be unable to correctly interpret the folder names, partition pruning fails, and Athena scans all partitions, leading to excessive data scan.

Option A is incorrect because JSON format does not prevent partition pruning; it may affect compression but not pruning. Option B is incorrect because the WHERE clause filters on a non-partition column, but it also filters on the partition column 'day', so partition pruning should work if the column data type matches. Option D is incorrect because sorting within partitions does not affect scan size; it affects query performance but not the amount of data scanned.

227
MCQmedium

A company uses AWS Glue DataBrew to clean and transform data. A data engineer notices that a DataBrew recipe step that should remove duplicates is not working as expected. The dataset has millions of rows. What is the MOST likely reason?

A.The data source is an S3 bucket with a large number of files
B.The dataset contains null values in the key columns
C.The dataset is not sorted by the columns used for deduplication
D.The DataBrew project is using a sampling of the data
AnswerC

DataBrew's dedup is based on consecutive duplicates; sorting is required.

Why this answer

DataBrew's 'Remove duplicate rows' step identifies duplicates by comparing each row to the previous row in the dataset. If the data is not sorted by the key columns, duplicate rows may not be adjacent and thus will not be removed, causing the step to appear ineffective. Option A: The number of files does not directly affect deduplication logic.

Option B: Null values may be treated as distinct, but the most likely issue is lack of sorting. Option D: DataBrew projects can use sampling for preview, but recipes are applied to the full dataset when run, so sampling does not prevent deduplication.

228
MCQhard

A company runs a Redshift cluster for analytics. The data engineering team notices that COPY commands from S3 are failing for large files (>1 GB) with the error 'S3ServiceException: SlowDown'. What is the most effective solution?

A.Use Redshift Spectrum to query the data directly in S3.
B.Enable automatic compression on the target tables.
C.Increase the number of Redshift nodes to distribute the load.
D.Split the large files into smaller parts (e.g., 100 MB each) and use parallel COPY.
AnswerD

Smaller files reduce per-object throttling and allow higher parallelism.

Why this answer

The SlowDown error indicates throttling from S3. Splitting large files into smaller parts increases parallelism and reduces the chance of throttling per object. Option A is wrong because using Redshift Spectrum is for querying external tables, not for addressing S3 throttling during COPY.

Option B is wrong because enabling automatic compression is for compression, not throttling. Option C is wrong because increasing the number of Redshift nodes does not directly address S3 throttling.

229
Multi-Selecteasy

A data engineer needs to monitor the performance of an Amazon Redshift cluster. Which Amazon CloudWatch metric should the engineer monitor to detect disk space issues?

Select 1 answer
A.ReadIOPS
B.WriteIOPS
C.PercentageDiskSpace
D.NetworkThroughput
E.CPUUtilization
AnswersC

PercentageDiskSpace directly measures the percentage of disk space used on the Redshift cluster, making it the correct metric for detecting disk space issues.

Why this answer

Option C. PercentageDiskSpace is a direct CloudWatch metric that tracks the percentage of disk space used on the Redshift cluster, making it ideal for detecting disk space issues. ReadIOPS and WriteIOPS measure I/O operations per second and are not indicators of disk space usage.

NetworkThroughput measures network traffic, and CPUUtilization measures compute usage; neither relates to disk space.

230
MCQmedium

A data engineer is troubleshooting an AWS Glue ETL job that fails intermittently. The job is triggered by an AWS Lambda function that uses the IAM policy shown. The Lambda function invokes the Glue job, but sometimes the job does not start. Which action should the engineer take to ensure the job starts reliably?

A.Replace the resource "*" in the Glue action with the specific Glue job ARN.
B.Add s3:GetObject and s3:PutObject permissions for the Glue job's output bucket.
C.Modify the Lambda function to batch multiple job start requests.
D.Add the iam:PassRole permission for the IAM role used by the Glue job.
AnswerD

The Lambda function needs iam:PassRole to pass the Glue job role; missing this causes intermittent failures.

Why this answer

The Lambda function must have the `iam:PassRole` permission to pass the IAM role used by the AWS Glue job. Without this permission, the Glue job cannot assume the role required for execution, leading to intermittent failures when the job is invoked. Option A is incorrect because the resource `*` already allows starting the job, and the issue is not about resource restriction.

Option B is incorrect because while S3 permissions may be necessary for the job's data access, they are not the cause of the job not starting. Option C is incorrect because batching job start requests does not address the underlying permission issue.

231
MCQmedium

A data engineer is running a Glue ETL job that reads from a JDBC source and writes to S3 in Parquet format. The job is slow and the engineer notices that the number of DPUs used is low. What can be done to improve performance?

A.Disable job bookmarks to avoid reading metadata.
B.Use push-down predicates to filter data at the source.
C.Increase the number of workers (MaxCapacity) in the job configuration.
D.Change the output format to CSV to reduce CPU overhead.
AnswerC

Increasing the number of workers (MaxCapacity) increases the number of parallel executors, directly addressing the low DPU usage and improving job performance.

Why this answer

Increasing the number of workers (MaxCapacity) directly increases the parallelism of the Glue ETL job. Since the DPU usage is low, the job is not fully utilizing available resources; adding workers allows more concurrent processing, thus improving performance. Option A: Disabling job bookmarks avoids reading metadata but does not address low DPU usage and may cause reprocessing.

Option B: Push-down predicates filter data at the source, reducing data volume, but the primary bottleneck here is parallelism, not data volume. Option D: Changing output to CSV would increase overhead and worsen performance because Parquet is columnar and compressed, while CSV is not.

232
MCQeasy

A data engineer needs to troubleshoot a failed AWS Glue job that reads from an Amazon RDS for MySQL database. The error log shows 'Communications link failure'. Which step should the engineer take FIRST?

A.Increase the job timeout and retry count.
B.Check that the security group associated with the Glue job allows outbound traffic to the RDS database.
C.Verify that the database username and password are correct in the Glue connection.
D.Confirm that the table schema in MySQL matches the Glue Data Catalog.
AnswerB

Network connectivity is the most common cause of this error.

Why this answer

A 'Communications link failure' often indicates network connectivity issues; verifying that the Glue job's security group allows outbound traffic to the RDS database is the first troubleshooting step. Option A is wrong because the error is not about authentication. Option C is wrong because the issue is not about table structure.

Option D is wrong because the error is not about permissions.

233
MCQeasy

A data engineer needs to troubleshoot why an AWS Glue job is failing with a 'Insufficient Memory' error. The job processes a 10 GB dataset. Which step should the engineer take FIRST?

A.Switch from using Apache Spark to Python shell.
B.Repartition the data into more partitions within the job.
C.Change the job type from Python to Java.
D.Increase the number of DPUs allocated to the job.
AnswerD

More DPUs provide more memory and compute resources.

Why this answer

The correct first step is to increase the number of DPUs allocated to the job. The 'Insufficient Memory' error indicates that the current memory per worker is insufficient for processing the 10 GB dataset. Increasing DPUs provides more memory and compute resources, directly addressing the issue.

Option A is incorrect because Python shell jobs are single-threaded and cannot handle large datasets efficiently; Glue Spark jobs are designed for distributed processing. Option B (repartitioning) can improve performance but does not add memory; it may help after resource allocation is adequate. Option C is invalid because AWS Glue does not support Java jobs; it supports Python and Scala.

234
MCQmedium

Refer to the exhibit. A data engineer runs two queries on an Athena table partitioned by 'ds'. Both queries scan the same amount of data. What does this indicate?

A.The partition column is not being used as a filter
B.The table does not have any partitions defined
C.The table is not partitioned
D.Partition pruning is working correctly
AnswerA

The filter on ds is not being pushed down, possibly due to data type mismatch.

Why this answer

If both queries scan the same amount of data despite being on a partitioned table, it indicates that the partition column 'ds' is not being used as a filter in the queries, so partition pruning is not applied and all partitions are scanned. Option A is correct because the partition column is not used as a filter. Option B is incorrect because the table does have partitions defined (it is partitioned by 'ds').

Option C is incorrect because the table is partitioned. Option D is incorrect because partition pruning is not working correctly; if it were, the amount of data scanned would differ based on the filter.

235
MCQhard

A company uses Amazon Kinesis Data Streams to ingest clickstream data. The data is consumed by an AWS Lambda function that processes each record and writes to an Amazon DynamoDB table. Recently, the Lambda function has been failing with 'ProvisionedThroughputExceededException' from DynamoDB. The Lambda function uses the AWS SDK to batch write items in batches of 25. The DynamoDB table has on-demand capacity mode. The stream has 10 shards, and the Lambda function is configured with a batch size of 100 and 5 concurrent invocations per shard. What step should the team take to resolve the issue?

A.Switch the DynamoDB table from on-demand to provisioned capacity with a high write capacity unit (WCU) value.
B.Reduce the Lambda batch size to 25 and implement exponential backoff with jitter in the Lambda code.
C.Increase the number of Kinesis shards to 20 to reduce the load per shard.
D.Increase the Lambda function's reserved concurrency to allow more parallel executions.
AnswerB

Reducing batch size and adding exponential backoff directly reduces the write rate and adds retry logic, mitigating throttling. This is the best approach.

Why this answer

The issue is DynamoDB throttling due to high write traffic from Lambda. The DynamoDB table is on-demand, which can throttle if bursts exceed sustained limits. Reducing the Lambda batch size from 100 to 25 decreases the number of records processed per invocation, lowering the instantaneous write rate.

Implementing exponential backoff with jitter in the Lambda code allows retries on throttled requests, making the system more resilient. Option A is not required because on-demand mode automatically scales, and switching to provisioned can be costly. Option C is incorrect because increasing shards would increase parallelism and worsen throttling.

Option D is incorrect because increasing concurrency would also increase write pressure on DynamoDB.

236
MCQhard

A data engineer runs an AWS Glue Crawler that updates a table in the AWS Glue Data Catalog. The table is used by Amazon Athena queries. After the crawler runs, some queries start failing with the error 'HIVE_CANNOT_OPEN_SPLIT'. What is the most likely cause?

A.The crawler updated the schema and the partition metadata is inconsistent with the actual data.
B.The crawler does not have IAM permissions to read the S3 location.
C.The crawler created too many partitions, exceeding the Athena limit.
D.There are concurrent queries accessing the same table.
AnswerA

Schema changes can cause split errors.

Why this answer

The error 'HIVE_CANNOT_OPEN_SPLIT' occurs when Athena attempts to read a partition but the metadata in the Glue Data Catalog does not match the actual data in S3. This is commonly caused by running an AWS Glue Crawler that updates the schema of a table (e.g., adding, removing, or changing column types) without updating the partition metadata accordingly. The crawler may update the table schema but leave existing partition metadata unchanged, leading to a mismatch.

Option A correctly identifies this cause. Option B is incorrect because a permissions issue would result in an access denied error, not a split error. Option C is incorrect because while Athena has a limit on the number of partitions per table (currently 20,000), this limit would cause a different error or query failure, not 'HIVE_CANNOT_OPEN_SPLIT'.

Option D is incorrect because concurrent queries can cause throttling or other issues but not this specific split error.

237
Multi-Selecteasy

A data engineer is troubleshooting an Amazon EMR cluster that has been running for several days. The cluster uses Amazon S3 as the data source and HDFS for intermediate storage. The engineer notices that some tasks fail with 'Java heap space' errors. Which TWO actions should the engineer take to resolve this issue?

Select 2 answers
A.Enable EMRFS consistent view for S3.
B.Increase the number of containers per node.
C.Increase the maximum Java heap size for the task nodes (mapreduce.map.java.opts).
D.Increase the YARN memory overhead parameter (yarn.nodemanager.resource.memory-mb).
E.Decrease the YARN container size.
AnswersC, D

Increasing the maximum Java heap size for task nodes (mapreduce.map.java.opts) gives each task more memory, directly addressing the 'Java heap space' errors.

Why this answer

Options C and D are correct. Increasing the maximum Java heap size (mapreduce.map.java.opts) gives each task more memory to avoid heap space errors. Increasing YARN memory overhead (yarn.nodemanager.resource.memory-mb) allows containers to request more memory from YARN.

Option A is incorrect because EMRFS consistent view addresses S3 consistency, not memory. Option B is incorrect because increasing the number of containers per node without increasing total memory reduces memory per container, worsening heap issues. Option E is incorrect because decreasing YARN container size reduces available memory, counterproductive for out-of-memory errors.

238
Multi-Selecthard

A company is using Amazon Kinesis Data Analytics (now part of Amazon Managed Service for Apache Flink) for streaming data processing. The application is experiencing high latency and the data engineer wants to improve performance. Which THREE actions should the engineer consider? (Choose three.)

Select 3 answers
A.Use a larger Kinesis data stream with more shards.
B.Decrease the buffer time in the Flink application to reduce latency.
C.Increase the Flink parallelism parameter in the application configuration.
D.Increase the Parallelism of the Flink application.
E.Decrease the checkpoint interval to reduce state size.
AnswersA, C, D

More shards provide higher throughput.

Why this answer

Options A, C, and D are correct. Increasing the number of shards in the Kinesis stream (A) increases the ingestion capacity, which can reduce bottlenecks and lower latency. Increasing Flink parallelism (C and D) allows more parallel processing of data, improving throughput and reducing latency.

Option B is incorrect because decreasing the buffer time in Flink can lead to increased network overhead and may not improve overall performance; it can actually increase latency due to more frequent data transfers. Option E is incorrect because decreasing the checkpoint interval increases the frequency of state snapshots, adding overhead and potentially increasing latency rather than reducing it.

239
MCQhard

A data pipeline uses AWS Lambda to process records from an Amazon Kinesis Data Stream. The Lambda function is idempotent and runs once per record. Recently, the function started failing with 'ProvisionedThroughputExceededException' when writing to a DynamoDB table. Which action should the data engineer take to resolve this?

A.Decrease the Lambda function's batch size to process fewer records per invocation.
B.Increase the Lambda function's reserved concurrency.
C.Implement retry logic with exponential backoff in the Lambda function.
D.Increase the number of shards in the Kinesis stream.
AnswerC

Exponential backoff reduces the write rate when throttled, eventually succeeding.

Why this answer

Implementing retry logic with exponential backoff allows the Lambda function to handle transient 'ProvisionedThroughputExceededException' errors by retrying write operations with increasing delays, which reduces the load on DynamoDB and gives the table capacity to recover. Since the function is idempotent, retries are safe. Option A is incorrect: decreasing the batch size reduces the number of records per invocation but does not directly address DynamoDB throttling; it may even increase the number of concurrent invocations, potentially worsening the issue.

Option B is incorrect: increasing reserved concurrency allows more Lambda functions to run concurrently, which would increase the write rate to DynamoDB, exacerbating throttling. Option D is incorrect: increasing Kinesis shards increases the stream's ingestion capacity but does not affect DynamoDB's throughput limits; the bottleneck is at the DynamoDB table, not the stream.

240
Multi-Selectmedium

A company uses Amazon RDS for MySQL as a source for AWS DMS. The replication tasks are failing due to large transactions on the source. The team wants to reduce the impact of large transactions on DMS. Which THREE actions should the team take?

Select 3 answers
A.Increase the number of parallel threads on the source.
B.Increase the size of the source RDS instance and enable binary logging with ROW format.
C.Enable BatchApply in the DMS task settings.
D.Use the 'full load only' migration type.
E.Tune the DMS task to use a larger memory limit and adjust the transaction size.
AnswersB, C, E

Larger instance and proper logging help DMS capture changes.

Why this answer

To reduce the impact of large transactions on AWS DMS when using Amazon RDS for MySQL as a source, the recommended actions are: increasing the source RDS instance size and enabling binary logging with ROW format (option B) to better handle large transactions and support CDC; enabling BatchApply (option C) to reduce the time to apply changes by batching them; and tuning the DMS task to use a larger memory limit while adjusting the transaction size (option E) to improve memory management. Option A is incorrect because increasing parallel threads on the source does not directly mitigate large transaction impact; DMS manages parallelism internally. Option D is incorrect because using 'full load only' would stop CDC, making it unsuitable for ongoing replication.

241
MCQeasy

A data engineer needs to automate the backup of an Amazon RDS for PostgreSQL database. Which AWS service can be used to schedule and manage the backups?

A.Amazon S3
B.AWS Lambda
C.AWS Backup
D.Amazon CloudWatch
AnswerC

AWS Backup provides centralized backup management for RDS.

Why this answer

AWS Backup is a fully managed backup service that can automate backups of RDS databases. Option A (Amazon S3) is incorrect because S3 is an object storage service, not a backup scheduling service. Option B (AWS Lambda) is incorrect because while Lambda can be used for custom automation, it is not the primary managed service for backup scheduling.

Option D (Amazon CloudWatch) is incorrect because CloudWatch is for monitoring and observability, not backup management.

242
MCQeasy

A company uses AWS DMS to replicate data from an on-premises Oracle database to Amazon RDS for MySQL. The full load completes successfully, but ongoing replication (CDC) is failing with a 'Failed to add supplemental logging' error. What should the data engineer do to resolve this issue?

A.Enable supplemental logging on the source Oracle database manually.
B.Recreate the DMS endpoint for the source database with a new connection.
C.Modify the target MySQL database to use a different engine version.
D.Increase the task log interval in the DMS task settings.
AnswerA

DMS requires supplemental logging for CDC.

Why this answer

The 'Failed to add supplemental logging' error occurs because AWS DMS requires supplemental logging on the source Oracle database for CDC to capture changes. DMS typically attempts to add supplemental logging automatically, but if it fails (e.g., due to insufficient privileges), the engineer must enable it manually. Option A is correct: enabling supplemental logging manually resolves the issue.

Option B is incorrect because recreating the endpoint does not address the missing supplemental logging. Option C is incorrect because the target MySQL engine version is unrelated to the source Oracle logging requirement. Option D is incorrect because increasing the task log interval only affects log output frequency, not the underlying logging configuration.

243
MCQeasy

A data engineer notices that an Amazon Kinesis Data Firehose delivery stream is failing to deliver data to an Amazon S3 bucket. The engineer verifies that the S3 bucket exists and that the IAM role attached to the delivery stream has the necessary permissions. What is the MOST likely cause of the failure?

A.The delivery stream is configured to deliver to Amazon CloudWatch Logs.
B.The IAM role does not have permissions to write to the S3 bucket.
C.No data is being written to the Kinesis Data Firehose delivery stream.
D.The delivery stream is configured to deliver to Amazon Kinesis Data Streams instead of S3.
AnswerC

If no data is put into the stream, it cannot deliver to S3.

Why this answer

If no data is written to the stream, Firehose has nothing to deliver. Option A is wrong because CloudWatch Logs is for monitoring, not for storing delivery data. Option B is wrong because insufficient permissions would cause an access denied error.

Option D is wrong because delivery streams typically use S3 as a destination, not Kinesis Data Streams.

244
Multi-Selecteasy

Which TWO AWS services can be used to schedule and orchestrate ETL workflows that involve multiple steps and dependencies? (Choose 2.)

Select 2 answers
A.AWS Batch
B.AWS Lambda
C.AWS Data Pipeline
D.AWS Step Functions
E.Amazon Managed Workflows for Apache Airflow (MWAA)
AnswersD, E

Step Functions can coordinate multiple AWS services into workflows.

Why this answer

The correct answers are D (AWS Step Functions) and E (Amazon Managed Workflows for Apache Airflow). AWS Step Functions is a serverless orchestration service that lets you coordinate multiple AWS services into flexible, multi-step workflows. It is ideal for ETL pipelines that require sequential steps, branching, and error handling.

Amazon MWAA is a managed service for Apache Airflow, an open-source platform used to programmatically author, schedule, and monitor workflows. MWAA simplifies setting up and operating Airflow, making it suitable for complex ETL orchestration with dependencies. In contrast, AWS Batch (A) is designed for batch computing jobs, not workflow orchestration.

AWS Lambda (B) is for individual serverless functions, not multi-step orchestration. AWS Data Pipeline (C) is an older ETL orchestration service that is less flexible and less commonly used compared to Step Functions and MWAA.

245
MCQmedium

A company is using Amazon Athena to query data stored in S3. Queries are failing with 'HIVE_INVALID_PARTITION' errors. What is the most likely cause?

A.The S3 bucket is configured with a bucket policy that denies access to the Athena service.
B.A partition folder in S3 has been deleted or moved, but the table metadata still references it.
C.The data is compressed with gzip, but the table definition expects uncompressed data.
D.The data files are in CSV format but the table definition expects Parquet.
AnswerB

Athena expects all partitions to exist.

Why this answer

The 'HIVE_INVALID_PARTITION' error in Amazon Athena occurs when the table's partition metadata in the AWS Glue Data Catalog (or Hive metastore) references a partition folder that no longer exists in the S3 bucket. Athena relies on the metadata to locate data files; if a partition folder is deleted or moved without updating the metadata, queries fail because Athena cannot find the expected data location.

Exam trap

The trap here is that candidates confuse permission errors (like S3 bucket policies) with metadata consistency errors, or assume compression or format mismatches cause partition-specific errors, when in reality 'HIVE_INVALID_PARTITION' is a direct indicator of a stale or missing partition folder in the catalog.

How to eliminate wrong answers

Option A is wrong because a bucket policy denying Athena access would cause an 'Access Denied' error, not a 'HIVE_INVALID_PARTITION' error, which is specific to partition metadata mismatch. Option C is wrong because Athena supports reading gzip-compressed data transparently, and compression mismatch does not produce partition-related errors. Option D is wrong because a schema mismatch between CSV and Parquet would cause a 'HIVE_CANNOT_OPEN_SPLIT' or data type conversion error, not a partition validation error.

246
MCQmedium

A data engineer needs to implement a data pipeline that ingests data from an on-premises database using AWS DMS and loads it into Amazon S3 in Parquet format. The data should be encrypted at rest in S3 using a customer-managed KMS key. Which combination of actions should the engineer take? (Choose the correct course of action.)

A.Configure the DMS task to write to S3 in Parquet format, and specify the KMS key ID in the S3 endpoint settings.
B.Set up an EC2 instance to run a script that reads from the source and writes Parquet to S3 with KMS encryption.
C.Use DMS to write JSON to S3, then use an AWS Glue job to convert to Parquet and enable KMS encryption on the Glue job.
D.Configure the S3 bucket policy to require KMS encryption for all objects, and use DMS with default settings.
AnswerA

DMS S3 endpoint supports KMS encryption and Parquet format.

Why this answer

AWS DMS can directly write data to Amazon S3 in Parquet format when configuring the DMS task. To encrypt data at rest with a customer-managed KMS key, you specify the KMS key ID in the S3 endpoint settings. This allows DMS to encrypt objects with the specified KMS key as they are written to S3.

Option B is incorrect because it introduces an unnecessary EC2 instance; DMS can write Parquet directly without an intermediate conversion step. Option C is incorrect because DMS can write Parquet directly; converting JSON to Parquet with Glue adds complexity and is not required. Option D is incorrect because a bucket policy requiring KMS encryption does not automatically encrypt data written by DMS; the encryption must be configured in the DMS task or endpoint settings.

247
MCQmedium

A data engineering team uses AWS Glue ETL jobs to process data from Amazon S3. The jobs recently started failing with 'Access Denied' errors when writing to the output S3 bucket. What is the most likely cause?

A.The KMS key used for server-side encryption is not accessible to the Glue job.
B.The S3 bucket does not have default encryption enabled.
C.The job ran out of memory due to large data volume.
D.The S3 bucket policy was modified to deny write access to the Glue job's IAM role.
AnswerD

An explicit deny in the bucket policy overrides any allow in the IAM role policy.

Why this answer

AWS Glue ETL jobs use an IAM role for permissions. If the S3 bucket policy was modified to explicitly deny write access to that role, the job would fail with 'Access Denied' errors. Option A is incorrect because KMS key access issues would cause encryption-related errors, not generic access denied.

Option B is incorrect because default encryption is not required for write access; it only affects encryption at rest. Option C is incorrect because out-of-memory errors would manifest as runtime errors, not access denied.

248
MCQeasy

A data engineer needs to ensure that a Redshift cluster can recover from a failure with minimal data loss. The cluster is used for reporting and can tolerate a few minutes of downtime. Which feature should the engineer enable?

A.Configure cross-region snapshot copy.
B.Take manual snapshots every hour.
C.Enable Multi-AZ deployment.
D.Enable automated snapshots with a retention period of 1 day.
AnswerD

Automated snapshots allow recovery to any point within the retention period.

Why this answer

Automated snapshots in Amazon Redshift are taken at regular intervals (default every 8 hours or 5 GB of data changes) and retained for a specified period. Enabling automated snapshots with a retention period of 1 day ensures that, in the event of a failure, the cluster can be restored to the most recent snapshot, minimizing data loss to at most the snapshot interval. This aligns with the requirement for minimal data loss and tolerance for a few minutes of downtime, as restoring from a snapshot takes time but preserves recent data.

Exam trap

The trap here is that candidates often confuse Multi-AZ (a feature for RDS, not Redshift) with high availability, or assume manual snapshots are more reliable than automated ones, when in fact automated snapshots with a short retention period provide the best balance of minimal data loss and operational simplicity for Redshift.

How to eliminate wrong answers

Option A is wrong because cross-region snapshot copy provides disaster recovery across AWS regions but does not directly reduce data loss for a single-region failure; it adds latency and cost without improving recovery point objective (RPO) within the primary region. Option B is wrong because manual snapshots every hour require manual intervention and do not guarantee consistent, automated recovery; they also lack the automated scheduling and retention management that Redshift provides, making them less reliable for minimal data loss. Option C is wrong because Redshift does not support Multi-AZ deployment; it is a single-AZ service by design, and enabling Multi-AZ is not a valid feature for Redshift clusters.

249
MCQmedium

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 fails with a permission error. Which IAM policy addition is MOST likely required for the Glue job's role?

A.Add redshift:DataAPI
B.Add redshift:ModifyCluster
C.Add redshift:DescribeStatement
D.Add redshift:GetClusterCredentials
AnswerD

redshift:GetClusterCredentials is required when AWS Glue uses the JDBC driver with IAM authentication to obtain temporary credentials for connecting to Amazon Redshift. This is the correct permission in this scenario.

Why this answer

Redshift:GetClusterCredentials. When AWS Glue writes to Amazon Redshift using the JDBC driver with IAM authentication, the Glue job's IAM role needs the redshift:GetClusterCredentials permission to obtain temporary credentials for the Redshift database. Option A (redshift:DataAPI) is not a valid IAM action; the actual Data API action is redshift:ExecuteStatement.

Options B and C are unrelated to executing queries. Therefore, D is the correct permission required when using the JDBC connection method commonly used by Glue jobs.

250
MCQeasy

A data engineer needs to back up an Amazon DynamoDB table daily. The backup must be restorable to a specific point in time within the last 24 hours. Which solution meets these requirements with the LEAST operational overhead?

A.Create an on-demand backup of the table every 24 hours.
B.Use DynamoDB Streams to replicate data to another table.
C.Enable point-in-time recovery (PITR) on the table.
D.Export the table data to Amazon S3 every 6 hours using a Lambda function.
AnswerC

Point-in-time recovery allows restoring to any second within the last 35 days with no operational overhead, meeting the requirement exactly.

Why this answer

DynamoDB's point-in-time recovery (PITR) provides continuous backups that allow restoration to any point within the last 35 days with no manual scheduling. Option A is incorrect because on-demand backups are manual and not continuous. Option B is incorrect because DynamoDB Streams captures changes in near-real time but does not provide a backup mechanism; it is used for event-driven processing and replication, not for point-in-time restoration.

Option D is incorrect because exporting to S3 requires manual scheduling and is not a backup feature.

251
MCQeasy

A data engineer is troubleshooting an AWS Glue job that reads from an Apache Kafka topic using a Glue connector. The job fails with 'TimeoutException'. The Kafka cluster is in a VPC. Which step should the engineer take FIRST?

A.Check the security group and network ACLs associated with the Glue job's VPC.
B.Increase the Kafka consumer session timeout.
C.Update the Glue connector to the latest version.
D.Change the Glue job type from Spark to Python Shell.
AnswerA

Network configuration is the most common cause of timeouts.

Why this answer

A 'TimeoutException' when reading from Kafka in a VPC typically indicates a network connectivity issue. The first step should be to verify that the security group and network ACLs allow traffic between the Glue job's VPC and the Kafka cluster. Option B (increasing consumer timeout) may be considered after confirming network connectivity, but it is not the first step.

Option C (updating the connector) is unrelated to network timeouts. Option D (changing job type) does not address the root cause.

252
MCQmedium

A data engineer notices that an AWS Glue ETL job that processes streaming data from Amazon Kinesis Data Streams is failing intermittently with a 'ResourceNotFoundException' error for the Kinesis stream. The job has been running successfully for weeks. Which action should the engineer take to resolve the issue?

A.Increase the number of shards in the Kinesis data stream to handle higher throughput.
B.Rename the Kinesis data stream to match the stream name used in the Glue job exactly, including case.
C.Add the 'kinesis:DescribeStream' permission to the IAM role used by the Glue job.
D.Increase the timeout for the Glue job in the job configuration.
AnswerC

Missing DescribeStream permission causes intermittent resource not found errors.

Why this answer

The most common cause of intermittent 'ResourceNotFoundException' for a Kinesis stream is that the IAM role used by the Glue job does not have the kinesis:DescribeStream permission, which is required for the job to check stream details. Option A is incorrect because increasing the Kinesis shard count would not resolve a permissions issue. Option B is incorrect because the Kinesis stream name must match exactly; case sensitivity would cause a consistent error, not intermittent.

Option D is incorrect because the timeout setting on the Glue job would not cause a resource not found error.

253
Multi-Selecteasy

A company is using AWS Glue to process data stored in Amazon S3. The Glue job runs successfully but takes longer than expected. Which TWO actions can reduce the job runtime?

Select 2 answers
A.Disable job bookmarking
B.Increase the number of DPUs allocated to the job
C.Reduce the number of workers
D.Change the job type from Spark to Python shell
E.Partition the input data in S3
AnswersB, E

More DPUs enable parallel processing, reducing runtime.

Why this answer

Increasing DPUs (Data Processing Units) allocates more compute resources to the Glue job, allowing it to process data faster, thus reducing runtime. Option E is correct: Partitioning the input data in S3 allows Glue to use partition pruning, reading only the necessary partitions instead of scanning the entire dataset, which reduces I/O and processing time. Option A is incorrect: Disabling job bookmarking does not reduce runtime; it only affects how Glue tracks processed data and might cause reprocessing.

Option C is incorrect: Reducing the number of workers would decrease parallelism, likely increasing runtime. Option D is incorrect: Changing from Spark to Python Shell would likely increase runtime because Python Shell is single-threaded and not designed for large-scale data processing compared to Spark.

254
MCQmedium

A data engineering team uses Amazon S3 to store raw data files. They have an AWS Glue ETL job that reads from an S3 bucket, transforms the data, and writes to a Redshift cluster. The job runs daily and has been failing intermittently with the error: 'An error occurred while calling o143.pyWriteDynamicFrame. S3 Access Denied'. The team has confirmed that the IAM role used by the Glue job has s3:GetObject and s3:PutObject permissions on the bucket and all objects. The Redshift cluster is in the same VPC and the Glue connection is configured correctly. What is the most likely cause of the failure?

A.The Redshift cluster is not publicly accessible and the Glue job does not have a VPC endpoint to Redshift.
B.The Glue job has exceeded the maximum execution time and is being killed by AWS.
C.The Glue job is using the wrong JDBC driver version for Redshift.
D.The Glue job's IAM role lacks permission to write to the Glue temporary file bucket (aws-glue-*).
AnswerD

Glue uses a temporary S3 bucket for staging; the role must have s3:PutObject on that bucket.

Why this answer

Glue jobs use a special S3 bucket for bookkeeping and temporary data. The job's IAM role must have s3:PutObject permission on the bucket used for temporary files, which is often 'aws-glue-*' for the same region. If this permission is missing, the job fails with access denied.

Option A is wrong because the error is an S3 access issue, not a network timeout. Option B is wrong because the error is not related to schema mismatch. Option C is wrong because the error is an S3 access issue, not a Glue job timeout.

255
Multi-Selectmedium

A company runs a data pipeline that ingests clickstream data from a web application into Amazon Kinesis Data Streams. A Lambda function processes records from the stream and writes them to an Amazon S3 bucket in JSON format. The pipeline has been running smoothly, but for the past hour, the Lambda function has been failing with 'Rate exceeded' errors, and the Kinesis stream shows elevated 'IteratorAgeMilliseconds' metrics. The Lambda function has a reserved concurrency of 100, and the Kinesis stream has 10 shards. The average record size is 5 KB, and the data rate is approximately 15 MB per second. Which combination of actions should a data engineer take to resolve the issue and prevent recurrence? (Choose TWO.)

Select 2 answers
A.Increase the Lambda function's reserved concurrency to 200.
B.Increase the number of Kinesis shards to 20.
C.Decrease the Lambda function's batch size from 100 to 50.
D.Enable S3 multipart upload for the Lambda function.
E.Replace the Lambda function with Amazon Kinesis Data Firehose to write directly to S3.
AnswersA, B

More concurrency allows more parallel invocations to process records faster.

Why this answer

The 'Rate exceeded' errors indicate that the Lambda function's concurrency is insufficient to keep up with the incoming data rate from Kinesis. With 10 shards and a 15 MB/s data rate, each shard processes ~1.5 MB/s, and with 5 KB records, that's ~300 records per second per shard. Increasing reserved concurrency to 200 allows more parallel invocations to handle the load, reducing the iterator age.

Exam trap

The trap here is that candidates often focus only on Lambda concurrency (Option A) and overlook the Kinesis shard count (Option B), not realizing that both the consumer (Lambda) and the stream capacity must be scaled together to resolve throughput bottlenecks.

256
MCQeasy

A company uses AWS Kinesis Data Firehose to deliver streaming data to an Amazon S3 bucket. Recently, the delivery stream has been failing with the error 'S3 bucket does not exist'. The S3 bucket exists and the Firehose IAM role has s3:PutObject permissions. What is the most likely cause?

A.The S3 bucket name is misspelled in the Firehose configuration.
B.The S3 bucket has default encryption enabled.
C.The S3 bucket is in a different AWS Region than the Firehose stream.
D.The IAM role does not have s3:ListBucket permission.
AnswerC

Firehose can only deliver to S3 buckets in the same region.

Why this answer

The most likely cause is that the S3 bucket is in a different AWS Region than the Firehose stream. AWS Kinesis Data Firehose requires the destination S3 bucket to be in the same region as the delivery stream. If the bucket is in a different region, Firehose will fail with a 'S3 bucket does not exist' error even though the bucket exists.

Option A is incorrect because a misspelled bucket name would cause a similar error, but the error message specifically says the bucket does not exist, which can also happen if the bucket is in a different region. Option B is incorrect because default encryption does not affect the bucket's existence; Firehose can write to encrypted buckets with the proper permissions. Option D is incorrect because s3:ListBucket permission is not required for Firehose to deliver data; s3:PutObject is sufficient.

257
MCQhard

Refer to the exhibit. A CloudFormation template is used to create a DynamoDB table. After creation, a data engineer wants to restore the table to a point in time from 3 hours ago. Which action is required?

A.Create a manual backup of the table first.
B.Enable AWS Backup to schedule automatic backups.
C.Ensure the table has at least one on-demand backup.
D.Use the AWS CLI or Console to initiate a point-in-time restore specifying the desired timestamp.
AnswerD

PITR is enabled, so restore is straightforward.

Why this answer

To restore a DynamoDB table to a point in time, the table must have point-in-time recovery (PITR) enabled. If it is enabled, you can use the AWS CLI or Console to initiate a point-in-time restore by specifying the desired timestamp. Option A is incorrect because a manual backup is not required; PITR uses continuous backups.

Option B is incorrect because AWS Backup is not necessary; DynamoDB PITR is sufficient. Option C is incorrect because PITR does not require any on-demand backups; it relies on continuous backups.

258
Multi-Selectmedium

A data engineer is using Amazon EMR to process large datasets. The cluster uses a mix of Spot Instances and On-Demand Instances. The engineer wants to reduce costs while ensuring the job can complete even if Spot Instances are reclaimed. Which TWO actions should the engineer take? (Choose two.)

Select 2 answers
A.Enable Instance Fleets to use multiple instance types for Spot Instances.
B.Use only On-Demand Instances for all nodes.
C.Use Spot Instances for core nodes to reduce cost.
D.Enable termination protection for the cluster.
E.Use a task instance group with Spot Instances for non-critical processing tasks.
AnswersA, E

Instance Fleets reduce the impact of Spot interruptions by diversifying instance types.

Why this answer

Enabling Instance Fleets allows EMR to use multiple instance types for Spot Instances, reducing the risk of interruption by diversifying across instance pools. Option E is correct because using a task instance group with Spot Instances for non-critical tasks ensures that if Spot Instances are reclaimed, only those non-critical tasks are affected, while core and master nodes running on On-Demand continue processing. Option B is incorrect because using only On-Demand increases costs.

Option C is incorrect because using Spot Instances for core nodes risks data loss or job failure if they are reclaimed, as HDFS data is stored on core nodes. Option D is incorrect because termination protection prevents accidental termination, but does not address Spot Instance interruptions.

259
MCQhard

A data pipeline uses AWS DMS to replicate data from an on-premises Oracle database to Amazon S3 in Parquet format. The pipeline has been running successfully for months, but recently the DMS task status shows 'failed' with the error: 'The source database is running out of archive log space.' Which action should the engineer take to prevent this error?

A.Configure multiple target S3 buckets to distribute the load.
B.Increase the amount of archive log space or reduce the log retention period on the source Oracle database.
C.Enable automatic log archiving on the DMS replication instance.
D.Increase the memory allocation for the DMS replication instance.
AnswerB

More space or shorter retention prevents log space exhaustion.

Why this answer

The error 'source database is running out of archive log space' indicates that the Oracle database's archive log area is full. AWS DMS uses Change Data Capture (CDC) which reads from archive logs to replicate changes. Increasing archive log space or reducing log retention prevents this error.

Option A is incorrect because distributing load across multiple S3 buckets does not address source log space. Option C is incorrect because DMS does not manage archiving; it only reads logs. Option D is incorrect because memory on the replication instance does not affect source archive log space.

260
MCQmedium

A data engineer is troubleshooting a nightly ETL job that reads data from an RDS MySQL instance and writes to an S3 bucket in Parquet format. The job runs on an EMR cluster and uses PySpark. Recently, the job started failing with 'OutOfMemoryError' in the executor logs. The data volume has grown 30% in the last month. Which is the MOST efficient solution to resolve this issue without changing the code?

A.Change the RDS instance to a larger size to reduce load.
B.Switch the ETL job to use AWS Glue with a larger WorkerType.
C.Increase the executor memory and memoryOverhead in the Spark configuration.
D.Increase the number of core nodes in the EMR cluster.
AnswerC

Increasing executor memory and memoryOverhead directly addresses the OutOfMemoryError by providing more heap and off-heap memory to executors.

Why this answer

The OutOfMemoryError in executors indicates insufficient memory per executor to handle the increased data volume. Increasing 'spark.executor.memory' and 'spark.executor.memoryOverhead' directly addresses this by providing more heap and off-heap memory without any code changes. Option A is wrong because the RDS instance size does not affect executor memory; the bottleneck is in Spark processing.

Option B is wrong because switching to AWS Glue would require code changes and may still need memory tuning, making it less efficient. Option D is wrong because adding core nodes increases parallelism but does not increase memory per executor, so the OOM could still occur.

261
MCQhard

A company runs a critical PostgreSQL database on Amazon RDS. The database experiences high read latency during peak hours. The data engineer needs to reduce read latency with minimal changes to the application. Which solution is MOST effective?

A.Delete unused indexes to improve query performance.
B.Enable Multi-AZ deployment for automatic failover.
C.Increase the DB instance class to a larger size with more memory.
D.Create a read replica of the RDS instance and redirect read queries to it.
AnswerD

Read replicas distribute read load, reducing latency.

Why this answer

Creating a read replica offloads read queries from the primary instance, reducing read latency with minimal application changes. The application simply needs to direct read-only queries to the replica endpoint. Option A is incorrect because deleting unused indexes may help write performance but does not directly address high read latency during peak hours.

Option B is incorrect because enabling Multi-AZ is for high availability and failover, not for improving read performance. Option C is incorrect because increasing the DB instance class can improve performance but is more disruptive and costly compared to adding a read replica, and may require downtime for resizing.

262
Multi-Selecteasy

A company uses Amazon Kinesis Data Firehose to deliver streaming data to Amazon S3. The data must be transformed in real-time using a custom Lambda function. Which TWO steps are required to enable this? (Choose TWO)

Select 2 answers
A.Configure Kinesis Data Firehose to use a Lambda function for data transformation
B.Ensure the Lambda function returns the transformed records in the correct format
C.Create a Kinesis Data Analytics application to transform the data
D.Write the transformation logic directly in the Firehose delivery stream configuration
E.Use Kinesis Data Streams as the source for Firehose
AnswersA, B

Firehose can invoke Lambda for transformation.

Why this answer

Options A and B are correct. Amazon Kinesis Data Firehose can invoke an AWS Lambda function for data transformation. You configure Firehose to call the Lambda function (A), and the Lambda function must return the transformed records in the required format, including fields like recordId, result, and data (B).

Option C is incorrect because Kinesis Data Analytics is used for real-time analytics, not for simple record transformations within Firehose. Option D is incorrect because transformation logic cannot be written directly in the Firehose delivery stream configuration; it must be implemented in a Lambda function. Option E is incorrect because using Kinesis Data Streams as a source is optional and not required for enabling Lambda transformation.

263
MCQmedium

A company uses Amazon S3 to store large CSV files and runs Amazon Athena queries on them. The queries are becoming slower as data grows. A data engineer suggests converting the files to Apache Parquet format and partitioning the data. What is the primary benefit of converting to Parquet?

A.Parquet allows schema evolution without rewriting files.
B.Parquet supports nested data structures that CSV cannot.
C.Parquet stores data in a columnar format, reducing the amount of data scanned per query.
D.Parquet is compressed by default, reducing storage costs.
AnswerC

Columnar storage minimizes I/O by reading only relevant columns.

Why this answer

Parquet is a columnar storage format that stores data by columns rather than rows. When Athena queries only a subset of columns, it can read just those columns from disk, drastically reducing the amount of data scanned per query. This directly addresses the performance slowdown because Athena charges by data scanned, and less scanning means faster queries and lower costs.

Exam trap

The trap here is that candidates confuse the general benefits of Parquet (compression, schema evolution, nested data) with the primary performance benefit for Athena, which is columnar pruning reducing scanned data.

How to eliminate wrong answers

Option A is wrong because Parquet does support schema evolution (e.g., adding columns) but this is not its primary benefit for query performance; schema evolution is a feature of many formats and not unique to Parquet's columnar nature. Option B is wrong because while Parquet does support nested data structures (like structs and arrays), CSV does not, but this is a data modeling advantage, not the primary performance benefit for large-scale analytics queries. Option D is wrong because Parquet is not compressed by default; compression is configurable (e.g., Snappy, Gzip, Zstd) and while it reduces storage costs, the primary benefit for query speed is columnar pruning, not compression.

264
MCQeasy

A data engineer needs to export data from an Amazon DynamoDB table to Amazon S3 for archival purposes. The export should be a one-time operation and must not impact the read capacity of the table. Which approach meets these requirements?

A.Use a Scan operation in a script to read all items and write to S3
B.Use AWS Glue ETL with a DynamoDB connector
C.Set up a DynamoDB Stream to Lambda that writes to S3
D.Use DynamoDB on-demand backup feature to export to S3
AnswerD

Backup exports to S3 without consuming read capacity.

Why this answer

DynamoDB's on-demand backup feature can export table data directly to S3 without consuming any read capacity units, making it ideal for a one-time archival export. Option A (Scan operation) consumes read capacity and impacts table performance. Option B (AWS Glue ETL with DynamoDB connector) also uses Scan operations that consume read capacity.

Option C (DynamoDB Streams to Lambda) is designed for continuous change capture, not one-time bulk export.

265
MCQeasy

A company uses Amazon CloudWatch Logs to collect application logs from EC2 instances. The logs are exported to Amazon S3 for long-term storage. Recently, the export task failed with the error 'Access Denied'. What is the most likely cause of this failure?

A.The S3 bucket policy denies access from the CloudWatch Logs service.
B.The IAM role does not have s3:PutObject permission on the destination bucket.
C.The IAM role does not have s3:ListBucket permission.
D.The EC2 instances are in a VPC without a VPC endpoint for CloudWatch Logs.
AnswerB

Without PutObject, the export task cannot write logs to S3.

Why this answer

The export task from CloudWatch Logs to S3 uses an IAM role to write data to the destination bucket. If the role lacks the s3:PutObject permission, the S3 service will reject the request with an 'Access Denied' error. This is the most common cause because the export operation requires write access to the bucket.

Exam trap

The trap here is that candidates often confuse the permissions needed for exporting logs to S3 (which requires s3:PutObject on the IAM role) with the permissions needed for sending logs from EC2 to CloudWatch Logs (which requires CloudWatch Logs agent permissions and possibly a VPC endpoint).

How to eliminate wrong answers

Option A is wrong because the S3 bucket policy can deny access, but the question states the export task failed with 'Access Denied' from CloudWatch Logs, which typically indicates a missing permission in the IAM role rather than a bucket policy denial; a bucket policy denial would also produce an 'Access Denied' error but is less likely as the default configuration allows CloudWatch Logs to write if the role has permissions. Option C is wrong because s3:ListBucket permission is required for listing objects, not for writing new objects; the export task only needs to upload logs, so s3:PutObject is sufficient. Option D is wrong because a VPC endpoint for CloudWatch Logs is used for sending logs from EC2 to CloudWatch Logs, not for exporting logs from CloudWatch Logs to S3; the export task runs within the AWS CloudWatch Logs service, not from the EC2 instances.

266
MCQmedium

A company runs a Redshift cluster and notices that query performance has degraded over time. The data engineer suspects that table statistics are stale. What should the engineer do to improve query performance?

A.Rebuild the tables by using CREATE TABLE AS
B.Increase the number of slices in the cluster
C.Run the ANALYZE command on the tables
D.Run the VACUUM command on the tables
AnswerC

ANALYZE updates table statistics for the optimizer.

Why this answer

Stale table statistics cause the Redshift query optimizer to generate suboptimal execution plans, leading to degraded query performance. Running the ANALYZE command updates these statistics, allowing the optimizer to make better decisions about join order, distribution, and data scan strategies. This directly addresses the root cause of performance degradation over time.

Exam trap

The trap here is confusing the VACUUM command (which reorganizes physical storage) with the ANALYZE command (which updates query optimizer metadata), leading candidates to choose VACUUM when stale statistics are the actual culprit.

How to eliminate wrong answers

Option A is wrong because rebuilding tables with CREATE TABLE AS (CTAS) does not update statistics; it creates a new table that still requires an explicit ANALYZE to populate its statistics, and it is an unnecessarily heavy operation for fixing stale stats. Option B is wrong because increasing the number of slices in the cluster requires resizing the cluster (e.g., adding nodes or changing node types), which is a disruptive, costly operation that does not address stale statistics; query performance degradation from stale stats is not resolved by adding more slices. Option D is wrong because the VACUUM command reclaims disk space and sorts rows to maintain physical data organization, but it does not update table statistics; stale statistics persist after VACUUM, so the optimizer remains uninformed.

267
MCQhard

A data engineer is using Amazon Kinesis Data Firehose to deliver streaming data to an S3 bucket. The data is delivered in 5-minute intervals. However, the engineer notices that the data in S3 is often delayed by up to 30 minutes. Which configuration change would most likely reduce the delay?

A.Decrease the 'Buffer interval' from 300 seconds to 60 seconds.
B.Enable compression (GZIP) on the Firehose delivery stream.
C.Increase the 'Buffer size' from 5 MB to 50 MB.
D.Enable 'Dynamic partitioning' on the Firehose stream.
AnswerA

Shorter buffer interval triggers more frequent deliveries.

Why this answer

The buffer interval determines the maximum time Firehose will wait before delivering data, regardless of buffer size. Decreasing it from 300 to 60 seconds forces more frequent deliveries, reducing the delay. Option B (compression) reduces data size, which could slow buffer filling and potentially increase delay if the buffer size trigger is not met.

Option C (increasing buffer size) would cause Firehose to wait longer for the buffer to fill, increasing delay. Option D (dynamic partitioning) affects data organization, not delivery frequency, so it does not reduce delay.

268
MCQmedium

Refer to the exhibit. A data engineer has attached this IAM policy to a user. The user reports being unable to upload files to my-bucket from an on-premises network with a public IP of 203.0.113.5. What is the issue?

A.The resource ARN does not include the bucket itself
B.The user's IP address is not within the allowed IP range
C.The user does not have s3:PutObject permission
D.The bucket requires server-side encryption
AnswerB

The condition only allows 10.0.0.0/16.

Why this answer

The IAM policy includes a condition that restricts access to requests originating from the IP range 10.0.0.0/16 (a private range). The user's on-premises network has a public IP of 203.0.113.5, which is not within that range, so the condition fails and the upload is denied. Option A is incorrect because the resource ARN does include the bucket itself (arn:aws:s3:::my-bucket/*), so that is not the issue.

Option C is incorrect because the policy explicitly allows s3:PutObject. Option D is incorrect because there is no condition requiring server-side encryption.

269
MCQeasy

A company uses Amazon S3 to store raw data and AWS Glue to run ETL jobs. The data is partitioned by date in the format 'year=YYYY/month=MM/day=DD'. A new data source started sending data with a different date format 'YYYY-MM-DD'. The Glue crawler is configured to create a single table for the entire bucket. The crawler runs daily, but it is not detecting the new partitions from the new data source. The existing partitions are in the format 'year=2024/month=05/day=10', while the new data is stored as '2024-05-10/' without the key-value structure. How should the engineer modify the data pipeline to include the new data?

A.Run the crawler with the 'Create partition indexes' option enabled.
B.Configure the crawler to add a custom classifier for date formats.
C.Modify the new data source to store data in the same Hive-style partition format as the existing data.
D.Convert the new data to Parquet format.
AnswerC

Consistent partition structure enables the crawler to detect partitions.

Why this answer

The new data uses a flat date folder (YYYY-MM-DD) instead of the existing Hive-style partition layout (year=YYYY/month=MM/day=DD). AWS Glue crawlers expect Hive-style partitions to automatically infer partitions. To include the new data without breaking the existing pipeline, the simplest solution is to store the new data in the same Hive-style format as the existing data.

Option A is incorrect because partition indexes help with query performance, not with partition format mismatch. Option B is incorrect because custom classifiers affect schema inference, not partition structure. Option D is incorrect because converting to Parquet does not change the partition folder structure.

270
MCQhard

A data engineer is troubleshooting a slow-running Amazon Redshift query. The query involves a large fact table with a distribution style of EVEN and a sort key on date. The table has 10 slices. The engineer notices that the query is performing a broadcast join with a small dimension table. Which change would most improve performance?

A.Remove the sort key and use a compound sort key on the join column
B.Change the dimension table to DISTSTYLE ALL
C.Increase the number of slices by resizing the cluster
D.Change the fact table to DISTSTYLE KEY on the join column
AnswerD

KEY distribution colocates matching rows, reducing the need for broadcast.

Why this answer

Changing the fact table’s distribution style to KEY on the join column co-locates rows from both tables on the same nodes, eliminating the need for broadcasting and reducing network traffic. This fully optimizes the join for the large fact table. Option A is incorrect: removing the sort key can degrade range queries, and a compound sort key on the join column does not address data distribution.

Option B: while setting the dimension table to DISTSTYLE ALL would avoid broadcasting by replicating the table to all nodes, it does not improve the fact table’s own data distribution, which remains EVEN and can cause skew or suboptimal joins in other queries. Option C: adding slices increases parallelism but still requires broadcasting, so it does not address the root cause of the performance issue.

271
MCQmedium

A data engineering team is troubleshooting a failing AWS Glue ETL job that processes data from an S3 bucket. The job writes output to another S3 bucket. The job fails with an AccessDenied error when writing to the output bucket. The IAM role used by the job has the following policy attached: {"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":["s3:GetObject","s3:ListBucket"],"Resource":["arn:aws:s3:::input-bucket/*","arn:aws:s3:::input-bucket"]}]}. What is the most likely cause of the failure?

A.The ETL job is processing more than 10 TB of data.
B.The output bucket has a bucket policy that denies access to the IAM role.
C.The IAM role does not have s3:PutObject permission on the output bucket.
D.The IAM role used by the job does not exist.
AnswerC

The policy lacks s3:PutObject for the output bucket, causing the AccessDenied error.

Why this answer

The IAM policy only grants s3:GetObject and s3:ListBucket permissions on the input bucket, but the job also needs permission to write to the output bucket. The missing s3:PutObject permission on the output bucket causes the AccessDenied error. Therefore, Option C is correct.

Option A is incorrect because there is no data size restriction. Option B is incorrect because the error is due to missing IAM permissions, not a bucket policy. Option D is incorrect because the role exists.

272
MCQeasy

A data engineer has this IAM policy attached to their user. They are trying to create an Amazon EMR cluster with a custom service role 'EMR_CustomRole'. What will happen?

A.The cluster creation will fail because elasticmapreduce:* is too broad.
B.The cluster creation will succeed because elasticmapreduce:* is allowed.
C.The cluster creation will fail with an 'Access Denied' error for iam:PassRole.
D.The cluster creation will succeed because PassRole is not required for EMR.
AnswerC

The policy restricts PassRole to only the default role, so passing a custom role is denied.

Why this answer

The IAM policy allows iam:PassRole only for the specific role 'EMR_DefaultRole'. When creating an EMR cluster with a custom service role 'EMR_CustomRole', the user needs to pass that role, but the policy does not grant iam:PassRole for 'EMR_CustomRole'. Therefore, the cluster creation fails with an 'Access Denied' error for iam:PassRole.

Other options are incorrect: A incorrectly attributes failure to elasticmapreduce:* being too broad; B incorrectly assumes success because elasticmapreduce:* is allowed, ignoring the PassRole requirement; D incorrectly states PassRole is not required.

273
MCQmedium

A company runs an Amazon EMR cluster with Spark jobs that process data from Amazon S3. The data engineer receives an alert that one of the Spark jobs failed with an OutOfMemoryError. The job processes large files and uses the default Spark configurations. Which configuration change is MOST likely to resolve the issue?

A.Increase the spark.executor.memory configuration.
B.Increase the number of executors.
C.Disable dynamic resource allocation.
D.Decrease the number of cores per executor.
AnswerA

Increasing executor memory directly addresses the OutOfMemoryError.

Why this answer

Increasing spark.executor.memory allocates more memory per executor, directly addressing the OutOfMemoryError when processing large files. Option B (increasing executors) does not increase memory per executor, so each executor remains susceptible to OOM. Option C (disabling dynamic resource allocation) would prevent the cluster from adding resources dynamically, potentially worsening the situation.

Option D (decreasing cores per executor) reduces parallelism but does not increase memory per executor; the OOM occurs because each executor lacks sufficient memory, not because of too many cores.

274
Multi-Selecthard

Which TWO are valid approaches to troubleshoot a slow Amazon Redshift query? (Choose two.)

Select 2 answers
A.Check for table locks using STV_LOCKS.
B.Enable encryption on the cluster.
C.Use the EXPLAIN command to review the query execution plan.
D.Run VACUUM on the table.
E.Alter the table to change DISTSTYLE to KEY.
AnswersA, C

Locks can cause waits.

Why this answer

Options A and C are correct. Checking for table locks using STV_LOCKS (A) helps identify concurrency issues that slow queries, and using EXPLAIN (C) reveals the query execution plan to spot inefficient operations. Option B is incorrect because enabling encryption does not affect query performance.

Option D is incorrect because VACUUM reclaims disk space and improves storage but is not a direct troubleshooting step for slow queries. Option E is incorrect because changing DISTSTYLE is a design optimization, not a troubleshooting action.

275
MCQmedium

An AWS Glue job that processes streaming data from Amazon Kinesis Data Streams is failing intermittently with 'Failed to checkpoint' errors. The job uses checkpointing to an Amazon S3 bucket every 60 seconds. Which action should the engineer take to resolve the issue?

A.Increase the checkpoint interval to 120 seconds.
B.Move the checkpoint location to an Amazon DynamoDB table.
C.Decrease the Kinesis shard count to reduce throughput.
D.Disable checkpointing and rely on Kinesis iterator age.
AnswerA

Reduces the frequency of checkpoint writes, mitigating contention.

Why this answer

The 'Failed to checkpoint' error in AWS Glue streaming jobs typically occurs when the checkpoint operation exceeds the 60-second interval due to high throughput or large state size. Increasing the checkpoint interval to 120 seconds provides more time for the checkpoint to complete, reducing the likelihood of timeouts and allowing the job to stabilize without losing progress.

Exam trap

The trap here is that candidates may assume DynamoDB is always faster for checkpoints (Option B), but AWS Glue streaming jobs natively support only S3 for checkpointing, and DynamoDB is not a valid checkpoint location—this distracts from the simple fix of adjusting the interval.

How to eliminate wrong answers

Option B is wrong because moving the checkpoint location to DynamoDB does not address the root cause of checkpoint timeouts; DynamoDB has its own throughput limits and latency, which could introduce similar or worse failures. Option C is wrong because decreasing the Kinesis shard count reduces throughput capacity, which may cause data loss or increased iterator age, but does not fix the checkpoint timeout issue—it could even worsen it by increasing processing pressure on fewer shards. Option D is wrong because disabling checkpointing removes fault tolerance entirely; relying solely on Kinesis iterator age does not provide recovery from failures and can lead to data reprocessing or loss, violating the job's reliability requirements.

276
MCQmedium

A data engineer runs an AWS Glue ETL job that transforms data in Amazon S3. The job fails with the error shown in the exhibit. Which action will MOST likely fix the issue?

A.Decrease the number of workers from 2 to 1.
B.Add an IAM policy that grants the Glue job permission to write to S3.
C.Increase the number of workers from 2 to 4.
D.Change the worker type from G.1X to G.2X.
AnswerD

G.2X provides more memory per worker, addressing the OOM error.

Why this answer

The error indicates an out-of-memory error in the Spark executor. This occurs when the executor memory is insufficient for the data being processed. Option D, changing the worker type from G.1X to G.2X, doubles the memory per worker (from 4 GB to 8 GB for Spark executors), addressing the memory issue directly.

Option A is incorrect because decreasing the number of workers reduces the total memory and parallelism, worsening the problem. Option B is incorrect because the error is not related to IAM permissions; an IAM policy for S3 write access would resolve a different error (e.g., AccessDenied). Option C is incorrect because increasing the number of workers from 2 to 4 adds more executors but does not increase memory per executor, and the error is likely due to insufficient per-executor memory.

277
MCQeasy

A data engineer needs to transfer 50 TB of data from an on-premises HDFS cluster to Amazon S3. The on-premises network has a 1 Gbps link to AWS. Which AWS service should be used to perform the transfer efficiently?

A.AWS DataSync
B.Amazon S3 Transfer Acceleration
C.AWS Snowball Edge
D.AWS Direct Connect
AnswerA

DataSync can transfer large datasets over the network efficiently.

Why this answer

AWS DataSync is the correct choice because it is designed for large-scale data transfers over the network, handling 50 TB efficiently over a 1 Gbps link by parallelizing transfers and automating scheduling. Amazon S3 Transfer Acceleration only improves upload speed over long distances but is not a dedicated transfer service. AWS Snowball Edge would be slower due to shipping and is unnecessary since the network link is sufficient.

AWS Direct Connect provides a dedicated network connection but is not a data transfer service.

278
MCQhard

A company runs a data pipeline that ingests user activity logs from an API gateway into an Amazon Kinesis Data Firehose delivery stream. The Firehose stream writes data to an S3 bucket. The data is then processed by a scheduled AWS Glue job that runs every hour. Recently, the company noticed that the data in S3 is incomplete: some logs from the API are missing. The Glue job processes all files in the S3 bucket. The Firehose stream has a buffer size of 5 MB and a buffer interval of 60 seconds. The API sends data at a rate of approximately 2 MB per minute. What should the company do to reduce data loss?

A.Decrease the buffer interval to 30 seconds.
B.Increase the Firehose buffer size to 10 MB.
C.Configure a Dead Letter Queue (DLQ) for the Firehose stream.
D.Enable data transformation with AWS Lambda to compress data.
AnswerC

A DLQ captures failed deliveries so data can be reprocessed.

Why this answer

Configuring a Dead Letter Queue (DLQ) for the Kinesis Data Firehose delivery stream allows failed records to be captured and stored for later analysis and reprocessing. While Firehose automatically retries delivery, persistent failures can lead to data loss. A DLQ (or error backup destination) ensures that records that cannot be delivered are preserved.

Option A: Decreasing the buffer interval from 60 to 30 seconds would cause more frequent deliveries, increasing the likelihood of transient failures affecting smaller batches and not reducing overall data loss. Option B: Increasing the buffer size to 10 MB does not prevent data loss; it only changes the threshold for flushing data. Since the data rate is 2 MB/min, the buffer size is rarely the trigger (interval is more likely).

Option D: Enabling data transformation with AWS Lambda to compress data reduces the size of records but does not address delivery failures; it could even introduce additional failure points from the Lambda function. Thus, only C directly addresses data loss by capturing failed records.

279
MCQeasy

A data engineer is monitoring an Amazon Kinesis Data Stream with a shard count of 10. The stream receives 5 MB/s of write traffic and 10 MB/s of read traffic. The engineer notices that writes are throttled with ProvisionedThroughputExceededException errors. Which action should the engineer take to resolve the throttling?

A.Increase the shard count to 20.
B.Decrease the shard count to 5.
C.Enable enhanced fan-out on the stream.
D.Configure auto-scaling on the stream.
AnswerD

Correct. Configuring auto-scaling, such as switching to on-demand mode, allows Kinesis Data Streams to automatically adjust capacity based on traffic, mitigating hot shards and eliminating ProvisionedThroughputExceededException.

Why this answer

ProvisionedThroughputExceededException occurs when a shard's write throughput exceeds 1 MB/s, often due to hot shards from uneven partition key distribution. While increasing shard count (Option A) can help spread the load, it does not automatically fix the root cause if partition keys remain skewed. The best action is to configure auto-scaling (Option D), which in Amazon Kinesis Data Streams can be achieved by switching to on-demand mode.

On-demand mode automatically scales capacity based on traffic patterns, eliminating throttling without manual intervention. Option B decreases write capacity, worsening the issue. Option C only improves read throughput, not write.

Exam trap

Candidates may think that because total write capacity (10 MB/s) exceeds write traffic (5 MB/s), throttling should not occur. However, uneven partition key distribution creates hot shards that exceed the 1 MB/s per shard limit. The trap is to assume increasing shard count is the only fix, but auto-scaling (on-demand mode) automatically handles such imbalances.

280
MCQmedium

A data engineer is designing a data pipeline that ingests streaming data from an IoT fleet using Kinesis Data Streams and processes it with a Lambda function. The Lambda function often times out when the data volume spikes. What is the most scalable solution?

A.Reduce the batch size in the event source mapping.
B.Increase the Lambda function timeout to 15 minutes.
C.Increase the Lambda function memory and set reserved concurrency.
D.Increase the number of shards and use a Kinesis Data Analytics application for windowed aggregation before Lambda.
AnswerD

More shards increase parallelism, and pre-aggregation reduces Lambda load.

Why this answer

Increasing the number of shards increases the parallelism of the stream, allowing higher throughput. Using Kinesis Data Analytics for windowed aggregation reduces the volume of data sent to Lambda, preventing timeouts during spikes. Option A is wrong because reducing batch size decreases the number of records per invocation, which can increase the number of Lambda invocations and overhead, but does not address the root cause of timeouts due to volume.

Option B is wrong because increasing the Lambda timeout to 15 minutes allows the function to run longer, but it does not increase throughput or handle spikes efficiently; it only delays failures and is not scalable. Option C is wrong because increasing memory can improve performance, but setting reserved concurrency limits the maximum number of concurrent executions, which can throttle processing during spikes and reduce scalability.

281
MCQmedium

A data engineer needs to set up a data pipeline that ingests CSV files from an S3 bucket, transforms them using AWS Glue, and loads the results into Amazon Redshift. The pipeline must handle schema evolution and data quality checks. Which combination of services is most appropriate?

A.Use S3 Events to trigger an AWS Lambda function that writes directly to Redshift
B.Use Amazon Athena to query data in S3 and insert results into Redshift via CTAS
C.Use Amazon Kinesis Data Firehose to transform and load data into Redshift
D.Use AWS Glue ETL jobs with Glue DataBrew for data quality and write to Redshift
AnswerD

Glue supports schema evolution and DataBrew provides data quality checks.

Why this answer

AWS Glue ETL jobs can handle schema evolution through the use of Glue DynamicFrames, and Glue DataBrew provides built-in data quality checks (profiling, validation) that integrate seamlessly. Option A is incorrect because Lambda has timeout and memory limits, making it unsuitable for large-scale transformations. Option B is incorrect because Athena cannot write directly to Redshift; CTAS only writes to S3.

Option C is incorrect because Kinesis Data Firehose is designed for streaming data, not batch CSV ingestion from S3.

282
MCQmedium

A data engineer needs to monitor the number of records processed by an Amazon Kinesis Data Analytics application and trigger an alarm if the count drops below a threshold over 5 minutes. Which CloudWatch metric should be used?

A.millisBehindLatest (from KinesisDataAnalytics)
B.IncomingRecords (from Kinesis Streams)
C.DPUCount (from Glue)
D.IncomingBytes (from Kinesis Firehose)
AnswerA

This metric indicates how far behind the application is; a drop in processing can be inferred.

Why this answer

'millisBehindLatest' is a metric published by KinesisDataAnalytics that indicates how far behind the application is in processing records. Monitoring this metric allows the engineer to set an alarm when the number of records processed drops, as a high millisBehindLatest value indicates the application is falling behind. Option B (IncomingRecords) is from Kinesis Streams, not KinesisDataAnalytics.

Option C (DPUCount) is a Glue metric. Option D (IncomingBytes) is a Kinesis Firehose metric.

283
MCQhard

Refer to the exhibit. This IAM policy is attached to a user who is trying to read the object s3://data-bucket/confidential/report.csv. The user's principal tag 'role' is set to 'analyst'. What will happen when the user attempts to read the object?

A.Denied because the Deny statement covers all actions under confidential
B.Allowed because there is an explicit Allow and no explicit Deny that matches
C.Denied because the condition in the Deny statement evaluates to true
D.Allowed because of the Allow statement for s3:GetObject
AnswerC

The condition StringNotEquals 'admin' is true for 'analyst', so Deny is applied.

Why this answer

The Deny statement applies when the role tag is not 'admin'. The user's tag is 'analyst', so the condition matches and access is denied. Option A is wrong because the Allow statement is overridden by the explicit Deny.

Option B is wrong because the Deny applies to all actions in the confidential prefix. Option D is wrong because Deny overrides Allow.

284
MCQmedium

A data pipeline using AWS Glue jobs is failing with 'Insufficient capacity' errors for Spark executors. Which action should the data engineer take to resolve this?

A.Reduce the number of workers in the Glue job configuration.
B.Increase the job timeout value.
C.Disable Spark UI logging.
D.Increase the number of workers (DPUs) in the Glue job configuration.
AnswerD

Increasing workers adds more computing capacity, resolving the 'Insufficient capacity' error.

Why this answer

The 'Insufficient capacity' error for Spark executors indicates that the Glue job is running out of resources (DPUs). Increasing the number of workers (DPUs) provides more compute capacity, allowing the job to allocate sufficient executors. Option A (reducing workers) would worsen the issue.

Option B (increasing timeout) does not add resources. Option C (disabling Spark UI) does not affect capacity. Therefore, increasing the number of workers (DPUs) is the correct resolution.

285
Multi-Selecthard

A company is experiencing high costs from Amazon Redshift. The data engineer wants to optimize costs. Which THREE actions should the engineer take? (Choose THREE.)

Select 3 answers
A.Increase the frequency of automated snapshots.
B.Right-size the cluster based on workload analysis.
C.Increase the number of nodes to improve performance.
D.Purchase Reserved Instances for steady-state workloads.
E.Enable Concurrency Scaling and set up a usage limit.
AnswersB, D, E

Right-sizing ensures you only pay for needed resources.

Why this answer

Right-sizing the cluster based on workload analysis ensures that the provisioned resources (number and type of nodes) match the actual compute and storage demands. Over-provisioned clusters waste money on unused capacity, while under-provisioned clusters cause performance issues. Analyzing metrics like CPU utilization, disk usage, and query queue wait times helps identify the optimal node count and instance type, directly reducing costs.

Exam trap

The trap here is that candidates confuse cost optimization with performance improvement, leading them to select 'Increase the number of nodes' (Option C) thinking it will reduce costs by improving efficiency, when in fact it increases costs.

286
Multi-Selectmedium

A company uses Amazon S3 to store raw data and runs AWS Glue ETL jobs to transform it into Parquet. The data is then queried using Amazon Athena. Queries are slow and expensive due to high scan volumes. Which THREE design changes can improve query performance and reduce costs? (Select THREE.)

Select 3 answers
A.Increase the number of files by reducing file size to 1 MB
B.Convert the data to a columnar format like Parquet or ORC if not already
C.Compress the data using a splittable compression format like Snappy
D.Use bucketing on high-cardinality columns
E.Partition the data by commonly filtered columns such as date or region
AnswersB, C, E

Columnar formats store data by column, reducing I/O for queries that select few columns.

Why this answer

Columnar formats like Parquet or ORC store data by column rather than by row, allowing Athena to read only the columns needed for a query. This drastically reduces the amount of data scanned per query, directly lowering both latency and cost since Athena charges based on the volume of data read.

Exam trap

The trap here is that candidates may confuse bucketing with partitioning, or assume that increasing file count always improves parallelism, when in fact small files harm performance in distributed query engines like Athena.

287
MCQmedium

A company is using Amazon Athena to query data in an S3 bucket. Queries are failing with the error 'HIVE_PATH_ALREADY_EXISTS'. The data is partitioned by year, month, day. What is the MOST likely cause?

A.A partition was manually added to the Glue Data Catalog that already exists
B.The data format in the partition is inconsistent with the table schema
C.The S3 location for the partition is empty
D.The IAM role used by Athena lacks s3:ListBucket permission on the bucket
AnswerA

Correct. The error indicates that the partition path is already registered in the Glue Data Catalog.

Why this answer

The error 'HIVE_PATH_ALREADY_EXISTS' occurs in Athena when attempting to add a partition (via ALTER TABLE ADD PARTITION or MSCK REPAIR TABLE) that already exists in the Glue Data Catalog. Option B (inconsistent data format) would cause schema mismatch errors like 'HIVE_PARTITION_SCHEMA_MISMATCH', not this error. Option C (empty S3 location) would not cause this error; queries might succeed but return no results.

Option D (lack of s3:ListBucket permission) would cause permission errors like 'Access Denied'.

288
MCQmedium

A company uses Amazon Kinesis Data Streams to ingest clickstream data from web applications. The data is consumed by a Kinesis Data Analytics application that runs SQL queries. Recently, the data analytics application has been falling behind, and the 'MillisBehindLatest' metric for the consumer has been increasing steadily. The shard count is 4, and the average records per second per shard is 200, with an average record size of 1 KB. The provisioned shard limit for the account is 10. Which action will resolve the issue?

A.Enable enhanced fan-out on the Kinesis stream and subscribe the analytics application to it.
B.Reduce the checkpoint interval on the Kinesis Client Library (KCL) consumer to commit offsets more frequently.
C.Increase the number of shards in the Kinesis stream to 8.
D.Increase the provisioned write capacity of the Kinesis stream by requesting a shard limit increase.
AnswerC

More shards increase total read capacity, allowing the consumer to process data faster.

Why this answer

The consumer is falling behind due to insufficient read capacity. Increasing the number of shards increases the total read capacity and allows the consumer to keep up. Option A is wrong because the write capacity is not the issue; the consumer is behind.

Option B is wrong because switching to enhanced fan-out does not address the shard count limitation; it improves dedicated throughput per consumer but the total throughput is still limited by shard count. Option D is wrong because the consumer is already using KCL, and the issue is not related to checkpointing.

289
MCQhard

A company runs a data pipeline that ingests streaming data from an IoT fleet into Amazon Kinesis Data Streams (KDS) with 50 shards. A Lambda function processes records from the stream and writes them to an Amazon DynamoDB table for real-time analytics. The Lambda function is configured with a batch size of 100 and a maximum batching window of 60 seconds. Recently, the company has been seeing an increasing number of 'WriteProvisionedThroughputExceededException' errors from DynamoDB, causing Lambda to retry and eventually send records to a dead-letter queue (DLQ). The DynamoDB table is provisioned with 5000 read capacity units (RCU) and 5000 write capacity units (WCU). The average item size is 1 KB. The KDS stream receives an average of 8000 records per second, each 2 KB in size. The Lambda function performs a simple transformation and writes each record individually to DynamoDB. The company wants to reduce the throttling errors without increasing the DynamoDB WCU provision. Which course of action is most likely to achieve this?

A.Modify the Lambda function to use DynamoDB BatchWriteItem to write records in batches of 25.
B.Increase the Lambda function's reserved concurrency to 1000.
C.Increase the Lambda function timeout to 5 minutes to allow more time for retries.
D.Increase the Lambda batch size to 500 and reduce the batching window to 30 seconds.
AnswerD

Incorrect. Increasing the Kinesis batch size to 500 and reducing the batching window to 30 seconds means each Lambda invocation will process more records, but if each record is still written individually to DynamoDB, the total number of write requests per second remains the same. Additionally, more records per invocation increases the likelihood of exceeding the per-request or per-partition write limits, potentially increasing throttling.

Why this answer

Increasing the Lambda batch size to 500 reduces the number of Lambda invocations per second from approximately 80 to 16, and reducing the batching window to 30 seconds helps spread writes more evenly across time. This lowers the concurrency of write operations to DynamoDB, which can reduce the frequency of 'WriteProvisionedThroughputExceededException' errors by staying within the provisioned 5000 WCU more consistently, even though the total write capacity required (16000 WCU) exceeds provisioned. Options A and B do not reduce the write load—batching writes (A) still consumes the same WCU, and increasing concurrency (B) worsens throttling.

Option C is irrelevant as timeout does not affect write rate.

290
Multi-Selectmedium

A data engineer is designing a disaster recovery plan for an Amazon RDS for MySQL database. The database must have a Recovery Point Objective (RPO) of less than 5 minutes and a Recovery Time Objective (RTO) of less than 30 minutes. Which TWO actions should the engineer take to meet these requirements?

Select 2 answers
A.Enable automated backups with a 1-day retention period and point-in-time recovery.
B.Enable Multi-AZ deployment.
C.Enable automated backups with a 5-minute retention period.
D.Create a cross-Region read replica.
E.Use a single-AZ instance with a standby in another Region.
AnswersA, B

Automated backups with point-in-time recovery allow restoring to any point within the retention period, achieving RPO of 5 minutes.

Why this answer

Options A and B are correct. Multi-AZ deployment (B) provides automatic failover to a standby in a different Availability Zone, meeting the RTO of less than 30 minutes. Automated backups with point-in-time recovery (A) allow recovery to any point within the retention period, enabling an RPO of less than 5 minutes.

Option C is wrong because automated backups have a minimum retention of 1 day; you cannot set a 5-minute retention. Option D is wrong because a cross-Region read replica requires manual promotion and does not provide automatic failover, resulting in higher RTO. Option E is wrong because a single-AZ instance without Multi-AZ does not provide automatic failover, leading to RTO exceeding 30 minutes.

291
Multi-Selectmedium

A company is using Amazon DynamoDB as a data store for a real-time application. The application reads a single item by primary key and occasionally updates it. The data engineer notices high read latency during peak hours. Which TWO actions would most effectively reduce read latency?

Select 2 answers
A.Increase the read capacity units for the table.
B.Enable DynamoDB global tables.
C.Add a local secondary index on the table.
D.Disable auto-scaling and set a fixed read capacity.
E.Enable DynamoDB Accelerator (DAX) for the table.
AnswersA, E

More capacity reduces throttling and latency during peaks.

Why this answer

Increasing read capacity units (RCUs) for the DynamoDB table directly allocates more read throughput, reducing throttling and latency during peak hours when read demand exceeds provisioned capacity. This ensures the application can handle the higher read load without experiencing request throttling, which is a primary cause of increased latency.

Exam trap

The trap here is that candidates may confuse global tables or secondary indexes as solutions for read latency, when in fact they address different concerns (disaster recovery and query flexibility), while the correct approach is to either increase provisioned throughput or implement a caching layer like DAX.

292
MCQmedium

A data engineer is troubleshooting a step function that orchestrates ETL jobs. The state machine fails with 'State Machine Execution Throttled' error. What should the engineer do to resolve this?

A.Reduce the number of steps in the state machine.
B.Set up a CloudWatch alarm to detect throttling and retry.
C.Adjust the API rate limits in the state machine definition.
D.Request a service quota increase for concurrent executions.
AnswerD

Increasing the limit resolves the throttling.

Why this answer

The 'State Machine Execution Throttled' error indicates that the state machine has exceeded the default concurrent execution limit for Step Functions. The proper resolution is to request a service quota increase from AWS Support for the concurrently running executions. Option A is incorrect: reducing the number of steps does not affect the limit on concurrent executions.

Option B is incorrect: a CloudWatch alarm can detect throttling but cannot resolve it; the alarm would only notify, not increase quotas. Option C is incorrect: API rate limits are not the same as execution throttling; Step Functions has separate limits for API call rate and concurrent executions. Adjusting API rate limits would not address execution throttling.

293
MCQmedium

A company uses AWS Kinesis Data Streams to ingest real-time data. The data engineer notices that the stream's 'WriteProvisionedThroughputExceeded' error occurs frequently during peaks. Which action should be taken to resolve this issue?

A.Increase the number of shards in the stream.
B.Modify the producer to use a different partition key.
C.Compress the data before sending to the stream.
D.Enable enhanced fan-out for consumers.
AnswerA

More shards provide higher write throughput.

Why this answer

Increasing the number of shards increases the write capacity, directly addressing the throughput exceeded error. Option B is wrong because the error is not from the producer side. Option C is wrong because the error is about write throughput, not read.

Option D is wrong because the error is not about data format.

294
MCQhard

A data engineer is monitoring an Amazon Kinesis Data Streams application that processes real-time events. The application uses a Kinesis Client Library (KCL) consumer. The engineer notices that the consumer is lagging behind the producer, and the lag is increasing over time. The stream has 10 shards. Which action will MOST effectively reduce the lag?

A.Use multiple KCL workers per shard to increase processing capacity.
B.Increase the number of shards in the Kinesis data stream.
C.Decrease the number of records per shard per second.
D.Decrease the number of shards in the Kinesis data stream.
AnswerB

More shards increase the stream's read and write capacity.

Why this answer

Increase the number of shards in the Kinesis data stream. Increasing shards increases the stream's read capacity and allows more parallel consumers to process data, which reduces lag. Option A is incorrect because using multiple KCL workers per shard is not recommended; each shard should be processed by one worker to avoid duplicate processing.

Option C is incorrect because decreasing the number of records per shard per second would reduce throughput, not help catch up. Option D is incorrect because decreasing shards reduces capacity, worsening lag.

295
Multi-Selecthard

A company uses Amazon S3 to store sensitive data. The security team requires that all data in transit between on-premises applications and S3 be encrypted. The data engineer must implement a solution that meets this requirement without changing the applications. Which TWO solutions should the engineer consider? (Choose two.)

Select 2 answers
A.Enable S3 Transfer Acceleration on the bucket.
B.Enable default encryption on the S3 bucket.
C.Use server-side encryption with S3 managed keys (SSE-S3).
D.Use an S3 VPC Endpoint and enforce the use of HTTPS through bucket policies.
E.Use AWS Storage Gateway to mount S3 as a file system and configure it to use HTTPS.
AnswersD, E

VPC Endpoint with HTTPS policy ensures encrypted transit.

Why this answer

Using an S3 VPC Endpoint with a bucket policy that enforces HTTPS ensures all traffic to S3 is encrypted in transit, without any application changes. Option E is correct because AWS Storage Gateway can mount S3 as a file system and be configured to use HTTPS, enforcing encryption in transit. Option A is incorrect because S3 Transfer Acceleration only improves speed over long distances, it does not enforce encryption—it optionally uses HTTPS but the application must still use HTTPS.

Option B is incorrect because default encryption (SSE-S3, SSE-KMS, DSSE-KMS) encrypts data at rest, not in transit. Option C is incorrect because server-side encryption with SSE-S3 also only encrypts data at rest.

296
Multi-Selecthard

A company is using AWS Glue to run ETL jobs that process data from Amazon S3 and load it into Amazon Redshift. The data engineer notices that the Glue job is failing with the error 'S3ServiceException: Access Denied' when writing to the staging S3 bucket. Which TWO actions should the engineer take to resolve this issue?

Select 2 answers
A.Ensure that the Glue job script is correctly referencing the S3 bucket path.
B.Verify that the IAM role used by the Glue job has the s3:PutObject permission for the staging bucket.
C.Ensure that the S3 bucket has a bucket policy that allows the AWS Glue service principal to write objects.
D.Verify that the IAM role has s3:GetObject permission for the source bucket.
E.Check the S3 bucket policy for the staging bucket and ensure it allows the Glue job's IAM role to perform s3:PutObject.
AnswersB, E

Correct. The IAM role must have s3:PutObject permission on the staging bucket.

Why this answer

Options B and E are correct. The Glue job's IAM role must have s3:PutObject permission on the staging S3 bucket (option B). Additionally, the S3 bucket policy must explicitly allow the Glue job's IAM role to perform s3:PutObject (option E).

Option C is incorrect because AWS Glue uses the IAM role attached to the job for S3 operations, not the Glue service principal; granting the service principal write access is unnecessary and not a standard practice. Option A is incorrect because the error is a permission issue, not a script path issue. Option D is incorrect because the error is about writing to the staging bucket, not reading from the source bucket.

Exam trap

The question asks for two actions, and there are several plausible options. Candidates may be misled into selecting incorrect options such as option C (granting write to the Glue service principal) or option D (read permission for source bucket), which do not directly resolve the write access error.

297
MCQhard

A data engineer is investigating a failed AWS Glue job. The engineer runs the CLI command shown in the exhibit to retrieve the latest log stream. The output shows storedBytes: 0. What does this indicate?

A.The log stream is from a different Glue job.
B.The log stream is empty because the job is still running.
C.The Glue job failed before writing any log events to CloudWatch.
D.The log stream has been expired and deleted.
AnswerC

No logs were written, indicating early failure or logging misconfiguration.

Why this answer

StoredBytes: 0 means no log events were stored, likely because the job failed before writing any logs or logging was not enabled. Option A is wrong because logs are not expired; they were never written. Option B is wrong because the stream exists.

Option D is wrong because the command retrieved the latest stream.

298
MCQeasy

A data engineer is troubleshooting a nightly AWS Glue ETL job that reads from an Amazon RDS for MySQL table and writes to an Amazon S3 bucket in Parquet format. The job runs successfully most days, but occasionally fails with the error 'ERROR: An error occurred while calling o67.pyWriteDynamicFrame. The transaction log for the database is full due to 'LOG_BACKUP'.' What is the MOST likely cause of this error?

A.The MySQL database has reached its maximum number of concurrent connections.
B.The AWS Glue job does not have sufficient permissions to write to the S3 bucket.
C.The AWS Glue job is configured with an incorrect 'writeDynamicFrame' method.
D.The MySQL database transaction log needs to be backed up to free space.
AnswerD

The error 'LOG_BACKUP' indicates that the transaction log is full and requires a backup to truncate it.

Why this answer

The error message 'The transaction log for the database is full due to 'LOG_BACKUP'' indicates that the MySQL database's transaction log has reached its maximum size because it has not been backed up and truncated. In MySQL, the transaction log (often the InnoDB redo log or binary log) must be backed up periodically to free space; otherwise, write operations fail. This is a database-side issue, not a Glue or permissions problem, so the correct action is to back up the transaction log to release space.

Exam trap

The trap here is that candidates may confuse a database-side resource exhaustion error (transaction log full) with a permissions or configuration issue in AWS Glue, leading them to incorrectly select options related to Glue permissions or method syntax.

How to eliminate wrong answers

Option A is wrong because the error specifically mentions the transaction log being full, not a limit on concurrent connections; a connection limit would produce a 'Too many connections' error. Option B is wrong because insufficient S3 write permissions would result in an access denied or authorization error, not a database transaction log error. Option C is wrong because the 'writeDynamicFrame' method is correctly used in AWS Glue for writing DynamicFrames; an incorrect method would cause a syntax or API error, not a database transaction log issue.

299
MCQmedium

A company uses Amazon S3 to store sensitive data. The data engineer needs to ensure that all data in transit between the S3 bucket and clients is encrypted. Which configuration should the engineer implement?

A.Use Amazon CloudFront to serve the content and enable SSL.
B.Enable default encryption on the S3 bucket using SSE-S3.
C.Create an S3 bucket policy that denies requests where SecureTransport is false.
D.Use SSE-C to encrypt the data with a customer-provided key.
AnswerC

This ensures all requests use HTTPS, encrypting data in transit.

Why this answer

An S3 bucket policy that denies requests where SecureTransport is false enforces HTTPS for all access, encrypting data in transit. Option A is wrong because CloudFront with SSL can enforce HTTPS but is not a direct S3 configuration and may incur additional costs. Option B is wrong because SSE-S3 only encrypts data at rest, not in transit.

Option D is wrong because SSE-C also encrypts data at rest with a customer-provided key, not in transit.

300
Multi-Selecthard

A data engineer is designing a data lake on Amazon S3 with sensitive data. The engineer needs to ensure that data at rest is encrypted and that access is logged for compliance. Which TWO actions should the engineer take? (Choose TWO.)

Select 2 answers
A.Enable S3 Select to filter data at read time.
B.Enable S3 Transfer Acceleration.
C.Enable CloudTrail data events for S3 object-level operations.
D.Enable default encryption on the S3 bucket using SSE-KMS.
E.Enable S3 Block Public Access on the account.
AnswersC, D

CloudTrail data events log read/write operations to objects.

Why this answer

Enabling CloudTrail data events for S3 object-level operations captures detailed logs of all read, write, and delete actions on objects, which is essential for compliance auditing. Option D is correct because enabling default encryption on the S3 bucket using SSE-KMS ensures that all objects stored in the bucket are encrypted at rest with AWS Key Management Service (KMS) keys, providing centralized control and auditability of encryption keys.

Exam trap

The trap here is that candidates often confuse S3 Block Public Access (a security control) with encryption or logging, or they mistakenly think S3 Select or Transfer Acceleration contribute to compliance requirements, when they are unrelated to data-at-rest encryption and access logging.

← PreviousPage 4 of 5 · 360 questions totalNext →

Ready to test yourself?

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