Official Exam Details: (DEA-C01)
DEA-C01
70%
385 Verified Questions
120 Minutes
Exam Format & Question Types
This certification exam features multiple-choice questions (single and multi-select), interactive Hotspots, Hot Areas, and Drag-and-Drop scenario configurations designed to test real-world technical competency.
DEA-C01: Cloud Architect Associate Study Guide & Architectural Master Blueprint
Welcome to your comprehensive study guide and architectural master blueprint for the DEA-C01 certification exam. This resource is meticulously crafted to empower aspiring cloud architects with the knowledge and strategic insights required to excel. As an expert cloud architect and exam author, I’ve distilled the core concepts and common challenges you’ll face, focusing exclusively on the DEA-C01 objectives to ensure you are fully prepared.
1. Exam Overview & Profile
The DEA-C01 exam targets professionals involved in designing, implementing, and managing cloud solutions, particularly those requiring a strong grasp of foundational cloud architecture principles across various deployment and service models. This includes cloud architects, engineers, and technical consultants. While the exact number of questions can vary, candidates typically face 60-70 multiple-choice and multiple-response questions within a 90-120 minute time limit. A passing score generally falls in the range of 60-70%, emphasizing not just rote memorization but a deep understanding of how to apply architectural principles in real-world scenarios.
2. Deep-Dive Domain Breakdown
Success on the DEA-C01 hinges on mastering the following architectural domains:
- Cloud Concepts & Architecture Principles:
- Thorough understanding of IaaS, PaaS, SaaS service models and their implications for design, management, and cost.
- Distinction between Public, Private, Hybrid, and Multi-Cloud deployment models, including use cases and architectural considerations.
- Core architectural tenets: Scalability (vertical/horizontal), Elasticity, Resiliency (fault tolerance, disaster recovery), Security, Performance, and Cost Optimization.
- Understanding of cloud reference architectures and patterns (e.g., auto-scaling groups, load balancing, content delivery networks).
- Cloud Infrastructure Technologies:
- Virtualization: Compute (hypervisors like VMware vSphere, KVM concepts), Storage (block, file, object storage services, software-defined storage concepts), Network (SDN, virtual networking, VPNs, direct connect solutions).
- Data Center Concepts: Software-Defined Data Center (SDDC) components and architecture.
- Network Services: VPC/VNet design, subnets, routing, network security groups, load balancers, DNS.
- Cloud Security & Compliance:
- Identity & Access Management (IAM): Principles of least privilege, roles, users, groups, multi-factor authentication.
- Data Security: Encryption at rest and in transit, key management strategies.
- Network Security: Firewalls, intrusion detection/prevention systems (IDS/IPS), network segmentation.
- Compliance: Understanding common frameworks (e.g., GDPR, HIPAA, PCI DSS) and the Shared Responsibility Model in cloud environments.
- Cloud Operations & Management:
- Monitoring & Logging: Tools and strategies for performance monitoring, application logging, and alerting.
- Automation & Orchestration: Concepts of infrastructure as code (IaC), configuration management, and workflow automation.
- Backup & Disaster Recovery (DR): RPO/RTO objectives, DR strategies (pilot light, warm standby, multi-site active/active).
- Business Continuity Planning (BCP): Integrating cloud resources into organizational BCPs.
- Service Level Agreements (SLAs): Impact on architectural design and service selection.
- Cloud Economics & Business Value:
- Total Cost of Ownership (TCO) and Return on Investment (ROI) analysis for cloud migration and adoption.
- Cost optimization strategies: Rightsizing, reserved instances, spot instances, storage tiering, serverless computing.
- Understanding cloud billing models and chargeback/showback mechanisms.
3. High-Yield Exam Tips & Scenario Traps
- Prioritize Business Requirements: Always choose the architectural solution that best balances performance, security, cost, and availability according to the explicit or implicit business needs in a scenario. There’s rarely a single “best” answer without context.
- Master the Shared Responsibility Model: A frequent trap! Clearly distinguish between what the cloud provider manages (e.g., physical infrastructure) and what the customer is responsible for (e.g., data, client-side encryption, network configuration). This varies significantly across IaaS, PaaS, and SaaS.
- Think “Cloud-Native”: Avoid selecting solutions that simply replicate on-premises designs in the cloud. Embrace cloud-native patterns like serverless, containers, managed services, and auto-scaling for optimal results.
- Security is Paramount: Default to secure-by-design principles. Implement the principle of least privilege, encrypt data at rest and in transit, and secure network boundaries.
- Cost Optimization is Key: Unless a scenario explicitly demands maximum performance regardless of cost, always consider the most cost-effective solution that meets requirements. Look for hints about budget constraints.
- Design for Failure: Assume components will fail. Design for redundancy, fault tolerance, and automated recovery (e.g., multiple availability zones/regions, auto-scaling groups).
4. Frequently Asked Questions (FAQ)
Q1: How should I structure my study time for DEA-C01?
A: Allocate your study time by first understanding the official exam blueprint domains. Focus heavily on grasping the core architectural principles and their practical application in various cloud scenarios. Supplement your learning with official study guides (if available), vendor whitepapers on cloud architecture, and conceptual hands-on exercises (e.g., designing network topologies or DR plans). Practice scenario-based questions to hone your decision-making skills under exam conditions.
Q2: What kind of questions can I expect on the DEA-C01 exam?
A: The DEA-C01 exam primarily features multiple-choice and multiple-response questions. Many questions will be scenario-based, presenting a business problem or technical requirement and asking you to select the most appropriate architectural solution, considering trade-offs across cost, performance, security, and availability. Expect questions testing your understanding of cloud service models, deployment types, security best practices, and operational considerations.
Q3: Is hands-on experience necessary to pass the DEA-C01?
A: While the DEA-C01 is an associate-level theoretical exam, strong conceptual understanding derived from practical experience with any major cloud platform (e.g., AWS, Azure, GCP, or private cloud environments built with virtualization technologies) will be a significant advantage. Hands-on experience helps solidify the “why” behind architectural choices, making it easier to apply abstract principles to concrete scenarios. Focus on the architectural patterns and decision criteria rather than specific CLI commands or console steps.
Q4: How important is understanding specific Dell EMC products for this exam?
A: The DEA-C01 exam is primarily focused on validating foundational cloud architecture knowledge and best practices, which are largely vendor-agnostic. While Dell EMC provides many solutions that enable robust cloud environments (e.g., in virtualization, storage, and hybrid cloud infrastructure), the exam emphasizes understanding universal cloud concepts, architectural patterns, and decision-making criteria. Candidates should focus on industry-standard terminology and common challenges in designing and managing cloud solutions, rather than deep dives into specific Dell EMC product configurations.
Free DEA-C01 Sample Practice Questions
Test your knowledge with these sample scenario questions complete with verified explanations:
General Practice Questions
QUESTION 1
A data engineer is configuring an AWS Glue job to read data from an Amazon S3 bucket. The data engineer has set up the necessary AWS Glue connection details and an associated IAM role. However, when the data engineer attempts to run the AWS Glue job, the data engineer receives an error message that indicates that there are problems with the Amazon S3 VPC gateway endpoint.
The data engineer must resolve the error and connect the AWS Glue job to the S3 bucket.
Which solution will meet this requirement?
- A. Update the AWS Glue security group to allow inbound traffic from the Amazon S3 VPC gateway endpoint.
- B. Configure an S3 bucket policy to explicitly grant the AWS Glue job permissions to access the S3 bucket.
- C. Review the AWS Glue job code to ensure that the AWS Glue connection details include a fully qualified domain name.
- D. Verify that the VPC's route table includes inbound and outbound routes for the Amazon S3 VPC gateway endpoint.
Click to View Verified Solution & Explanation
Correct Option: D
Reasoning: An S3 VPC gateway endpoint requires a specific entry in the VPC’s route table to direct traffic for Amazon S3 through the endpoint. If this route is missing or misconfigured in the subnet where the AWS Glue job operates, the job will fail to connect to S3 via the endpoint, leading to the reported error. ❌ Why the other choices are incorrect:
- Option A is incorrect: S3 VPC gateway endpoints are route table targets, not network interfaces that send traffic requiring inbound security group rules. Security groups control traffic to ENIs within the VPC, not the gateway endpoint itself.
- Option B is incorrect: The error explicitly mentions "problems with the Amazon S3 VPC gateway endpoint," indicating a network connectivity issue, not an authorization problem. The scenario states the IAM role is set up.
- Option C is incorrect: AWS Glue typically resolves S3 endpoints automatically. Connection details with FQDNs are more relevant for specific JDBC/data store connections, not for resolving S3 via a gateway endpoint, which is a route table configuration.
QUESTION 2
A retail company has a customer data hub in an Amazon S3 bucket. Employees from many countries use the data hub to support company-wide analytics. A governance team must ensure that the company’s data analysts can access data only for customers who are within the same country as the analysts.
Which solution will meet these requirements with the LEAST operational effort?
- A. Create a separate table for each country's customer data. Provide access to each analyst based on the country that the analyst serves.
- B. Register the S3 bucket as a data lake location in AWS Lake Formation. Use the Lake Formation row-level security features to enforce the company's access policies.
- C. Move the data to AWS Regions that are close to the countries where the customers are. Provide access to each analyst based on the country that the analyst serves.
- D. Load the data into Amazon Redshift. Create a view for each country. Create separate IAM roles for each country to provide access to data from each country. Assign the appropriate roles to the analysts.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: AWS Lake Formation provides granular, row-level, and column-level security for data lakes in S3. Registering the S3 bucket and utilizing Lake Formation’s policies allows for dynamic filtering of data based on user attributes (like country), meeting the requirement with minimal custom code or infrastructure management, thus offering the LEAST operational effort.
QUESTION 3
A media company wants to improve a system that recommends media content to customer based on user behavior and preferences. To improve the recommendation system, the company needs to incorporate insights from third-party datasets into the company’s existing analytics platform.
The company wants to minimize the effort and time required to incorporate third-party datasets.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Use API calls to access and integrate third-party datasets from AWS Data Exchange.
- B. Use API calls to access and integrate third-party datasets from AWS DataSync.
- C. Use Amazon Kinesis Data Streams to access and integrate third-party datasets from AWS CodeCommit repositories.
- D. Use Amazon Kinesis Data Streams to access and integrate third-party datasets from Amazon Elastic Container Registry (Amazon ECR).
Click to View Verified Solution & Explanation
Correct Option: A
Reasoning: AWS Data Exchange is specifically designed to simplify finding, subscribing to, and using third-party data within AWS. Accessing data via API calls directly from Data Exchange minimizes the integration effort, time, and operational overhead, as the data providers manage delivery and updates. ❌ Why the other choices are incorrect:
- Option B is incorrect: AWS DataSync is a data transfer service primarily for moving large datasets between storage locations, not for subscribing to and consuming third-party analytical datasets directly from a marketplace. It would introduce more setup and overhead.
- Option C is incorrect: AWS CodeCommit is a source control service for code. It is not intended for hosting or distributing third-party analytical datasets. Kinesis Data Streams is for real-time data, but the data source is inappropriate.
- Option D is incorrect: Amazon ECR stores Docker container images. It is not designed to host or distribute third-party analytical datasets. Kinesis Data Streams is for real-time data, but the data source is inappropriate.
QUESTION 4 (Multi-Select)
A financial company wants to implement a data mesh. The data mesh must support centralized data governance, data analysis, and data access control. The company has decided to use AWS Glue for data catalogs and extract, transform, and load (ETL) operations.
Which combination of AWS services will implement a data mesh? (Choose two.)
- A. Use Amazon Aurora for data storage. Use an Amazon Redshift provisioned cluster for data analysis.
- B. Use Amazon S3 for data storage. Use Amazon Athena for data analysis.
- C. Use AWS Glue DataBrew for centralized data governance and access control.
- D. Use Amazon RDS for data storage. Use Amazon EMR for data analysis.
- E. Use AWS Lake Formation for centralized data governance and access control.
Click to View Verified Solution & Explanation
Correct Option: B,E
Reasoning: Amazon S3 is foundational for a data lake, providing scalable, cost-effective storage for diverse data formats essential for a data mesh. Amazon Athena, a serverless query service, enables ad-hoc SQL analysis directly on data stored in S3, integrating seamlessly with AWS Glue Data Catalog and supporting decentralized data access within a data mesh architecture.
✅
Reasoning: AWS Lake Formation is designed to simplify building, securing, and managing data lakes. It directly addresses the requirement for centralized data governance and fine-grained access control across data lake resources, including S3 data and Glue Data Catalog tables, which is critical for enforcing policies in a data mesh. ❌ Why the other choices are incorrect:
- Option A is incorrect: Amazon Aurora and Redshift are primarily for relational databases and data warehousing, respectively. While Redshift can query S3, Aurora isn’t the standard primary storage for a data lake/mesh.
- Option C is incorrect: AWS Glue DataBrew is a visual data preparation tool for cleaning and normalizing data, not for centralized data governance or access control.
- Option D is incorrect: Amazon RDS is a relational database service, not ideal for the varied data storage needs of a data mesh. Amazon EMR can be used for analysis but is more for complex processing, and RDS is a poor fit for data lake storage.
QUESTION 5
A data engineer maintains custom Python scripts that perform a data formatting process that many AWS Lambda functions use. When the data engineer needs to modify the Python scripts, the data engineer must manually update all the Lambda functions.
The data engineer requires a less manual way to update the Lambda functions.
Which solution will meet this requirement?
- A. Store a pointer to the custom Python scripts in the execution context object in a shared Amazon S3 bucket.
- B. Package the custom Python scripts into Lambda layers. Apply the Lambda layers to the Lambda functions.
- C. Store a pointer to the custom Python scripts in environment variables in a shared Amazon S3 bucket.
- D. Assign the same alias to each Lambda function. Call reach Lambda function by specifying the function's alias.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: Lambda layers centralize shared code like custom Python scripts. By packaging scripts into a layer, multiple Lambda functions can access them. Updating the layer automatically propagates script changes to all linked functions, significantly reducing manual updates. This is the intended use case for Lambda layers. ❌ Why the other choices are incorrect:
- Option A is incorrect: "Execution context object" for S3 pointers is not a standard or efficient mechanism for sharing code. It would still likely require manual updates to the Lambda function’s code or configuration to point to new script versions.
- Option C is incorrect: While environment variables can store S3 paths, Lambdas would need explicit code to fetch and load scripts dynamically, adding complexity and latency. Updates to the script’s S3 location might still necessitate updating the environment variable on each Lambda.
- Option D is incorrect: Aliases manage versions and traffic routing for a single Lambda function, not shared code across multiple distinct functions. This solution does not address the problem of centralizing script updates.
QUESTION 6
A company created an extract, transform, and load (ETL) data pipeline in AWS Glue. A data engineer must crawl a table that is in Microsoft SQL Server. The data engineer needs to extract, transform, and load the output of the crawl to an Amazon S3 bucket. The data engineer also must orchestrate the data pipeline.
Which AWS service or feature will meet these requirements MOST cost-effectively?
- A. AWS Step Functions
- B. AWS Glue workflows
- C. AWS Glue Studio
- D. Amazon Managed Workflows for Apache Airflow (Amazon MWAA)
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: AWS Glue Workflows are purpose-built for orchestrating AWS Glue crawlers and ETL jobs. They provide a native, integrated, and cost-effective way to sequence Glue components for a data pipeline, making it ideal for the given requirements. ❌ Why the other choices are incorrect:
- Option A is incorrect: AWS Step Functions can orchestrate Glue jobs, but it’s a general-purpose orchestrator. For a purely Glue-centric pipeline, Glue Workflows are typically more cost-effective as they are natively integrated and optimized for Glue’s pricing model.
- Option C is incorrect: AWS Glue Studio is a graphical interface used to create and manage Glue jobs and workflows. It’s a development environment, not the underlying orchestration service itself. Glue Workflows is the service that performs the orchestration.
- Option D is incorrect: Amazon MWAA is a powerful and flexible orchestration service but is generally more expensive to operate than Glue Workflows, especially for simpler, Glue-native pipelines, due to its persistent infrastructure costs.
QUESTION 7
A financial services company stores financial data in Amazon Redshift. A data engineer wants to run real-time queries on the financial data to support a web-based trading application. The data engineer wants to run the queries from within the trading application.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Establish WebSocket connections to Amazon Redshift.
- B. Use the Amazon Redshift Data API.
- C. Set up Java Database Connectivity (JDBC) connections to Amazon Redshift.
- D. Store frequently accessed data in Amazon S3. Use Amazon S3 Select to run the queries.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: The Amazon Redshift Data API provides a simple HTTP interface for applications to query Redshift without managing JDBC/ODBC drivers or connections. It handles authentication via IAM, connection pooling, and result retrieval, offering the least operational overhead for integrating real-time queries directly into a web application. ❌ Why the other choices are incorrect:
- Option A is incorrect: Redshift does not natively support direct WebSocket connections for queries. Implementing this would require building an intermediary service to translate requests, significantly increasing development and operational overhead.
- Option C is incorrect: Managing JDBC connections, drivers, and connection pools within a web application introduces more complexity and operational overhead compared to the fully managed Data API, especially for concurrent, real-time requests.
- Option D is incorrect: This option requires moving data from Redshift to S3, introducing ETL processes, potential data staleness, and fundamentally changing the query target. This increases, rather than decreases, operational overhead for querying the data initially in Redshift.
QUESTION 8
A company uses Amazon Athena for one-time queries against data that is in Amazon S3. The company has several use cases. The company must implement permission controls to separate query processes and access to query history among users, teams, and applications that are in the same AWS account.
Which solution will meet these requirements?
- A. Create an S3 bucket for each use case. Create an S3 bucket policy that grants permissions to appropriate individual IAM users. Apply the S3 bucket policy to the S3 bucket.
- B. Create an Athena workgroup for each use case. Apply tags to the workgroup. Create an IAM policy that uses the tags to apply appropriate permissions to the workgroup.
- C. Create an IAM role for each use case. Assign appropriate permissions to the role for each use case. Associate the role with Athena.
- D. Create an AWS Glue Data Catalog resource policy that grants permissions to appropriate individual IAM users for each use case. Apply the resource policy to the specific tables that Athena uses.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: Athena workgroups separate query execution, control output locations, and manage query history. IAM policies with tags enforce granular permissions on workgroups, effectively isolating query processes and history access for different users, teams, or applications. ❌ Why the other choices are incorrect:
- Option A is incorrect: S3 bucket policies control access to the raw data, not Athena query execution settings, process separation, or query history within Athena itself.
- Option C is incorrect: IAM roles define permissions but don’t provide the intrinsic separation of query processes and history that Athena workgroups offer within the Athena service.
- Option D is incorrect: AWS Glue Data Catalog resource policies manage access to table metadata. They do not control Athena’s query execution environment, resource limits, or query history separation.
QUESTION 9
A data engineer needs to schedule a workflow that runs a set of AWS Glue jobs every day. The data engineer does not require the Glue jobs to run or finish at a specific time.
Which solution will run the Glue jobs in the MOST cost-effective way?
- A. Choose the FLEX execution class in the Glue job properties.
- B. Use the Spot Instance type in Glue job properties.
- C. Choose the STANDARD execution class in the Glue job properties.
- D. Choose the latest version in the GlueVersion field in the Glue job properties.
Click to View Verified Solution & Explanation
Correct Option: A
Reasoning: The FLEX execution class is specifically designed for non-time-sensitive jobs, leveraging spare capacity to significantly lower costs per DPU-hour compared to the Standard class. Since the scenario explicitly states no specific run or finish time is required, Flex provides the most cost-effective solution. ❌ Why the other choices are incorrect:
- Option B is incorrect: AWS Glue job properties do not directly offer "Spot Instance type" as a configurable option for workers. While Glue may use Spot Instances internally for Flex, it’s not a user-selectable setting.
- Option C is incorrect: The STANDARD execution class offers predictable performance but is more expensive per DPU-hour than Flex. Since time sensitivity is not a requirement, this is not the most cost-effective choice.
- Option D is incorrect: Choosing the latest Glue version can bring performance enhancements, but it doesn’t directly provide the significant, dedicated cost reduction mechanism for non-time-sensitive workloads that the FLEX execution class offers.
QUESTION 10
A data engineer needs to create an AWS Lambda function that converts the format of data from .csv to Apache Parquet. The Lambda function must run only if a user uploads a .csv file to an Amazon S3 bucket.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Create an S3 event notification that has an event type of s3:ObjectCreated:*. Use a filter rule to generate notifications only when the suffix includes .csv. Set the Amazon Resource Name (ARN) of the Lambda function as the destination for the event notification.
- B. Create an S3 event notification that has an event type of s3:ObjectTagging:* for objects that have a tag set to .csv. Set the Amazon Resource Name (ARN) of the Lambda function as the destination for the event notification.
- C. Create an S3 event notification that has an event type of s3:*. Use a filter rule to generate notifications only when the suffix includes .csv. Set the Amazon Resource Name (ARN) of the Lambda function as the destination for the event notification.
- D. Create an S3 event notification that has an event type of s3:ObjectCreated:*. Use a filter rule to generate notifications only when the suffix includes .csv. Set an Amazon Simple Notification Service (Amazon SNS) topic as the destination for the event notification. Subscribe the Lambda function to the SNS topic.
Click to View Verified Solution & Explanation
Correct Option: A
Reasoning: This solution correctly uses s3:ObjectCreated:* to trigger only on new object uploads, and a suffix filter for .csv ensures only relevant files invoke Lambda. Directly setting the Lambda ARN as the destination is the most direct and lowest-overhead integration for S3 event notifications. ❌ Why the other choices are incorrect:
- Option B is incorrect:
s3:ObjectTagging:*triggers on tag changes, not object creation. Relying on tags for file type identification adds unnecessary complexity and operational overhead. - Option C is incorrect:
s3:*is too broad an event type, triggering for all S3 events. While the filter limits Lambda execution, it generates notifications for many irrelevant actions, increasing S3 service overhead compared tos3:ObjectCreated:*. - Option D is incorrect: Introducing an Amazon SNS topic adds an additional component to manage (SNS topic, subscriptions, permissions). This increases operational overhead compared to directly invoking the Lambda function from the S3 event notification.
QUESTION 11
A data engineer needs Amazon Athena queries to finish faster. The data engineer notices that all the files the Athena queries use are currently stored in uncompressed .csv format. The data engineer also notices that users perform most queries by selecting a specific column.
Which solution will MOST speed up the Athena query performance?
- A. Change the data format from .csv to JSON format. Apply Snappy compression.
- B. Compress the .csv files by using Snappy compression.
- C. Change the data format from .csv to Apache Parquet. Apply Snappy compression.
- D. Compress the .csv files by using gzip compression.
Click to View Verified Solution & Explanation
Correct Option: C
Reasoning: Parquet is a columnar format, allowing Athena to read only selected columns, greatly reducing I/O and scan time. Snappy compression further decreases data scanned and improves performance. This combination directly addresses the "selecting a specific column" pattern and provides the most significant speedup. ❌ Why the other choices are incorrect:
- Option A is incorrect: JSON is a row-based format; it still requires reading entire rows even when only specific columns are needed, negating the primary benefit of columnar storage. Snappy helps, but the format limits optimization.
- Option B is incorrect: While Snappy compression reduces data scanned, the underlying CSV format is row-based. Athena still reads full rows, missing the significant performance gains from columnar pruning for "selecting specific columns."
- Option D is incorrect: Gzip compresses data, but CSV remains a row-based format, preventing columnar pruning. Gzip also has slower decompression than Snappy in parallel environments like Athena, potentially hindering performance.
QUESTION 12
A manufacturing company collects sensor data from its factory floor to monitor and enhance operational efficiency. The company uses Amazon Kinesis Data Streams to publish the data that the sensors collect to a data stream. Then Amazon Kinesis Data Firehose writes the data to an Amazon S3 bucket.
The company needs to display a real-time view of operational efficiency on a large screen in the manufacturing facility.
Which solution will meet these requirements with the LOWEST latency?
- A. Use Amazon Managed Service for Apache Flink (previously known as Amazon Kinesis Data Analytics) to process the sensor data. Use a connector for Apache Flink to write data to an Amazon Timestream database. Use the Timestream database as a source to create a Grafana dashboard.
- B. Configure the S3 bucket to send a notification to an AWS Lambda function when any new object is created. Use the Lambda function to publish the data to Amazon Aurora. Use Aurora as a source to create an Amazon QuickSight dashboard.
- C. Use Amazon Managed Service for Apache Flink (previously known as Amazon Kinesis Data Analytics) to process the sensor data. Create a new Data Firehose delivery stream to publish data directly to an Amazon Timestream database. Use the Timestream database as a source to create an Amazon QuickSight dashboard.
- D. Use AWS Glue bookmarks to read sensor data from the S3 bucket in real time. Publish the data to an Amazon Timestream database. Use the Timestream database as a source to create a Grafana dashboard.
Click to View Verified Solution & Explanation
Correct Option: A
Reasoning: Amazon Managed Service for Apache Flink (Kinesis Data Analytics) processes data directly from Kinesis Data Streams with very low latency. Amazon Timestream is a purpose-built time-series database optimized for high-ingestion rates and fast queries, ideal for real-time dashboards like Grafana. This combination provides the most direct, real-time, and lowest-latency solution. ❌ Why the other choices are incorrect:
- Option B is incorrect: This approach introduces latency by writing data to S3 first, then triggering Lambda. Amazon Aurora is a relational database not optimized for time-series data or the lowest-latency ingestion/querying compared to Timestream.
- Option C is incorrect: While Flink is good, creating an additional Kinesis Data Firehose stream after Flink to Timestream adds an unnecessary processing hop, increasing latency. Flink can directly write to Timestream. Amazon QuickSight typically has higher dashboard refresh latency than Grafana with Timestream for pure real-time streaming.
- Option D is incorrect: Reading from S3 using AWS Glue, even with bookmarks, introduces higher latency as S3 is object storage and Glue is typically for batch/micro-batch processing, not true real-time streaming at the lowest latency.
QUESTION 13
A company stores daily records of the financial performance of investment portfolios in .csv format in an Amazon S3 bucket. A data engineer uses AWS Glue crawlers to crawl the S3 data.
The data engineer must make the S3 data accessible daily in the AWS Glue Data Catalog.
Which solution will meet these requirements?
- A. Create an IAM role that includes the AmazonS3FullAccess policy. Associate the role with the crawler. Specify the S3 bucket path of the source data as the crawler's data store. Create a daily schedule to run the crawler. Configure the output destination to a new path in the existing S3 bucket.
- B. Create an IAM role that includes the AWSGlueServiceRole policy. Associate the role with the crawler. Specify the S3 bucket path of the source data as the crawler's data store. Create a daily schedule to run the crawler. Specify a database name for the output.
- C. Create an IAM role that includes the AmazonS3FullAccess policy. Associate the role with the crawler. Specify the S3 bucket path of the source data as the crawler's data store. Allocate data processing units (DPUs) to run the crawler every day. Specify a database name for the output.
- D. Create an IAM role that includes the AWSGlueServiceRole policy. Associate the role with the crawler. Specify the S3 bucket path of the source data as the crawler's data store. Allocate data processing units (DPUs) to run the crawler every day. Configure the output destination to a new path in the existing S3 bucket.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: An AWSGlueServiceRole IAM role grants the necessary permissions for a Glue crawler to read S3 data and write metadata to the AWS Glue Data Catalog. A daily schedule ensures the data is accessible daily. Specifying a database name directs the crawler’s output to the Data Catalog. ❌ Why the other choices are incorrect:
- Option A is incorrect: The
AmazonS3FullAccesspolicy is insufficient as Glue crawlers requireAWSGlueServiceRoleto interact with the Data Catalog. Also, crawlers output to the Data Catalog, not back to an S3 path. - Option C is incorrect: The
AmazonS3FullAccesspolicy is insufficient for Glue operations. Allocating DPUs is a resource aspect, not the method to schedule a daily run, which requires setting a schedule. - Option D is incorrect: Allocating DPUs is not the method for daily scheduling. More critically, Glue crawlers populate metadata in the AWS Glue Data Catalog, they do not output data to a new path in an S3 bucket.
QUESTION 14
A company loads transaction data for each day into Amazon Redshift tables at the end of each day. The company wants to have the ability to track which tables have been loaded and which tables still need to be loaded.
A data engineer wants to store the load statuses of Redshift tables in an Amazon DynamoDB table. The data engineer creates an AWS Lambda function to publish the details of the load statuses to DynamoDB.
How should the data engineer invoke the Lambda function to write load statuses to the DynamoDB table?
- A. Use a second Lambda function to invoke the first Lambda function based on Amazon CloudWatch events.
- B. Use the Amazon Redshift Data API to publish an event to Amazon EventBridge. Configure an EventBridge rule to invoke the Lambda function.
- C. Use the Amazon Redshift Data API to publish a message to an Amazon Simple Queue Service (Amazon SQS) queue. Configure the SQS queue to invoke the Lambda function.
- D. Use a second Lambda function to invoke the first Lambda function based on AWS CloudTrail events.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: After performing the Redshift load using the Data API, the orchestrating application can publish a custom event detailing the load status to Amazon EventBridge. EventBridge’s primary purpose is to route events, and a rule can easily be configured to filter for this specific event pattern and invoke the Lambda function. This provides a robust, scalable, and event-driven solution for tracking load statuses. ❌ Why the other choices are incorrect:
- Option A is incorrect: Relying on a second Lambda function invoked by CloudWatch events would typically involve polling or scheduling, which is less efficient and not truly event-driven in response to the completion of a Redshift load.
- Option C is incorrect: While the application could publish to SQS, EventBridge is generally a more suitable event bus for "publishing events" and routing "load statuses," offering broader routing capabilities and a clearer semantic fit for event-driven architectures than a simple queue.
- Option D is incorrect: AWS CloudTrail logs API calls for auditing. While Redshift API calls are logged, using CloudTrail for real-time application-specific event triggers for data load completion is inefficient, complex, and not its intended primary use case.
QUESTION 15
A data engineer needs to securely transfer 5 TB of data from an on-premises data center to an Amazon S3 bucket. Approximately 5% of the data changes every day. Updates to the data need to be regularly proliferated to the S3 bucket. The data includes files that are in multiple formats. The data engineer needs to automate the transfer process and must schedule the process to run periodically.
Which AWS service should the data engineer use to transfer the data in the MOST operationally efficient way?
- A. AWS DataSync
- B. AWS Glue
- C. AWS Direct Connect
- D. Amazon S3 Transfer Acceleration
Click to View Verified Solution & Explanation
Correct Option: A
Reasoning: DataSync is purpose-built for secure, automated, and scheduled online data transfer from on-premises storage to S3. It efficiently handles large initial datasets (5TB) and regularly synchronizes incremental changes (5% daily), optimizing for operational efficiency and meeting all specified requirements for file formats and automation. ❌ Why the other choices are incorrect:
- Option B is incorrect: AWS Glue is an ETL service designed for data transformation and cataloging, not for automated, incremental file transfer and synchronization from on-premises file systems to S3. It focuses on data processing rather than reliable, scheduled file replication.
- Option C is incorrect: AWS Direct Connect provides a dedicated network connection to AWS, improving bandwidth and latency. However, it is an underlying network service, not a data transfer tool. It does not automate, schedule, or manage the actual file movement or incremental updates.
- Option D is incorrect: Amazon S3 Transfer Acceleration speeds up data transfers over long distances by leveraging AWS Edge Locations. It improves transfer performance but does not provide the automation, scheduling, or incremental synchronization capabilities needed for ongoing on-premises file replication.
QUESTION 16
A company uses an on-premises Microsoft SQL Server database to store financial transaction data. The company migrates the transaction data from the on-premises database to AWS at the end of each month. The company has noticed that the cost to migrate data from the on-premises database to an Amazon RDS for SQL Server database has increased recently.
The company requires a cost-effective solution to migrate the data to AWS. The solution must cause minimal downtown for the applications that access the database.
Which AWS service should the company use to meet these requirements?
- A. AWS Lambda
- B. AWS Database Migration Service (AWS DMS)
- C. AWS Direct Connect
- D. AWS DataSync
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: AWS DMS is specifically designed for migrating databases to AWS, supporting homogeneous migrations like SQL Server to RDS for SQL Server. It offers continuous data replication (CDC) to ensure minimal downtime for applications during migration, and is a cost-effective solution for large-scale database transfers. ❌ Why the other choices are incorrect:
- Option A is incorrect: AWS Lambda is a serverless compute service for running code, not a dedicated service for migrating databases with transactional integrity and minimal downtime. Custom solutions using Lambda would be complex and costly.
- Option C is incorrect: AWS Direct Connect provides a dedicated network connection to AWS. While it can reduce network costs and improve transfer speed, it is a networking service, not a database migration service itself. It doesn’t perform the migration.
- Option D is incorrect: AWS DataSync is for migrating large amounts of file or object data between on-premises storage and AWS storage services. It is not designed for transactional database migrations to services like Amazon RDS, which require specific database replication capabilities.
QUESTION 17 (Multi-Select)
A data engineer is building a data pipeline on AWS by using AWS Glue extract, transform, and load (ETL) jobs. The data engineer needs to process data from Amazon RDS and MongoDB, perform transformations, and load the transformed data into Amazon Redshift for analytics. The data updates must occur every hour.
Which combination of tasks will meet these requirements with the LEAST operational overhead? (Choose two.)
- A. Configure AWS Glue triggers to run the ETL jobs every hour.
- B. Use AWS Glue DataBrew to clean and prepare the data for analytics.
- C. Use AWS Lambda functions to schedule and run the ETL jobs every hour.
- D. Use AWS Glue connections to establish connectivity between the data sources and Amazon Redshift.
- E. Use the Redshift Data API to load transformed data into Amazon Redshift.
Click to View Verified Solution & Explanation
Correct Option: A,D
Reasoning: AWS Glue triggers, specifically time-based schedules, are the native and most operationally simple way to automate Glue ETL job execution hourly, directly meeting the scheduling requirement with minimal management overhead.
✅
Reasoning: AWS Glue connections are essential for ETL jobs to securely establish network connectivity and authentication to external data sources (RDS, MongoDB) and data targets (Redshift), ensuring seamless data flow with built-in Glue functionality and least overhead. ❌ Why the other choices are incorrect:
- Option B is incorrect: AWS Glue DataBrew is for data profiling and cleaning. While useful, it’s not directly related to scheduling or core data source/target connectivity within the Glue ETL job’s scope and doesn’t address the primary requirements for least operational overhead for the specified tasks.
- Option C is incorrect: While AWS Lambda can invoke Glue jobs, using native AWS Glue triggers is a more integrated solution for scheduling Glue jobs, incurring less operational overhead by avoiding an additional service to manage.
- Option E is incorrect: The Redshift Data API can execute SQL, but for bulk loading transformed data from a Glue ETL job into Redshift, using Glue’s built-in Redshift sink capabilities is typically more efficient and has less operational overhead than orchestrating loads via the Data API.
QUESTION 18
A company uses an Amazon Redshift cluster that runs on RA3 nodes. The company wants to scale read and write capacity to meet demand. A data engineer needs to identify a solution that will turn on concurrency scaling.
Which solution will meet this requirement?
- A. Turn on concurrency scaling in workload management (WLM) for Redshift Serverless workgroups.
- B. Turn on concurrency scaling at the workload management (WLM) queue level in the Redshift cluster.
- C. Turn on concurrency scaling in the settings during the creation of any new Redshift cluster.
- D. Turn on concurrency scaling for the daily usage quota for the Redshift cluster.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: Concurrency scaling on RA3 nodes is enabled within a Redshift cluster’s Workload Management (WLM) configuration. It is specifically turned on at the WLM queue level to provision temporary clusters, automatically scaling read and write capacity for spikes in concurrent query demand. ❌ Why the other choices are incorrect:
- Option A is incorrect: Redshift Serverless automatically manages scaling and concurrency without requiring explicit WLM queue-level concurrency scaling configuration like provisioned clusters.
- Option C is incorrect: Concurrency scaling is configured after cluster creation within WLM, not as a setting during the initial cluster provisioning process.
- Option D is incorrect: While concurrency scaling uses credits, managing a daily usage quota is a cost control mechanism separate from the act of enabling the concurrency scaling feature itself.
QUESTION 19 (Multi-Select)
A data engineer must orchestrate a series of Amazon Athena queries that will run every day. Each query can run for more than 15 minutes.
Which combination of steps will meet these requirements MOST cost-effectively? (Choose two.)
- A. Use an AWS Lambda function and the Athena Boto3 client start_query_execution API call to invoke the Athena queries programmatically.
- B. Create an AWS Step Functions workflow and add two states. Add the first state before the Lambda function. Configure the second state as a Wait state to periodically check whether the Athena query has finished using the Athena Boto3 get_query_execution API call. Configure the workflow to invoke the next query when the current query has finished running.
- C. Use an AWS Glue Python shell job and the Athena Boto3 client start_query_execution API call to invoke the Athena queries programmatically.
- D. Use an AWS Glue Python shell script to run a sleep timer that checks every 5 minutes to determine whether the current Athena query has finished running successfully. Configure the Python shell script to invoke the next query when the current query has finished running.
- E. Use Amazon Managed Workflows for Apache Airflow (Amazon MWAA) to orchestrate the Athena queries in AWS Batch.
Click to View Verified Solution & Explanation
Correct Option: A,B
Reasoning: AWS Lambda is a serverless, cost-effective way to programmatically invoke Athena queries using Boto3 start_query_execution. It provides on-demand compute without managing servers, ideal for event-driven query initiation.
✅
Reasoning: AWS Step Functions orchestrates complex, long-running workflows with built-in Wait states. It cost-effectively manages the asynchronous polling of Athena query status (get_query_execution) and sequences subsequent queries, billing only for state transitions, not active compute during waits. ❌ Why the other choices are incorrect:
- Option C is incorrect: AWS Glue Python shell jobs incur DPU-hour costs, which are generally higher than Lambda for simple invocation. For waiting, it’s less cost-effective than Step Functions.
- Option D is incorrect: Running a
sleeptimer within a Glue Python shell job is highly inefficient and not cost-effective, as you pay for continuous DPU-hours while the job is idle. - Option E is incorrect: Amazon MWAA is more expensive and complex for simple sequential orchestration compared to Step Functions. AWS Batch is not the primary service for orchestrating Athena queries directly.
QUESTION 20
A company is migrating on-premises workloads to AWS. The company wants to reduce overall operational overhead. The company also wants to explore serverless options.
The company’s current workloads use Apache Pig, Apache Oozie, Apache Spark, Apache Hbase, and Apache Flink. The on-premises workloads process petabytes of data in seconds. The company must maintain similar or better performance after the migration to AWS.
Which extract, transform, and load (ETL) service will meet these requirements?
- A. AWS Glue
- B. Amazon EMR
- C. AWS Lambda
- D. Amazon Redshift
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: Amazon EMR is a managed service supporting Apache Pig, Oozie, Spark, HBase, and Flink. It enables direct migration of these frameworks, processes petabytes with high performance, and offers EMR Serverless, reducing operational overhead and fulfilling serverless exploration requirements. ❌ Why the other choices are incorrect:
- Option A is incorrect: AWS Glue is a serverless ETL service but primarily uses Spark. It lacks native support for direct migration of all specified Apache frameworks (Pig, Oozie, HBase, Flink) without substantial re-architecture.
- Option C is incorrect: AWS Lambda is a serverless compute service, not an ETL service for petabyte-scale data using complex Apache frameworks. Its execution limits are unsuitable for such extensive workloads.
- Option D is incorrect: Amazon Redshift is a data warehouse for analytics. It is not an ETL processing service designed to run raw, petabyte-scale jobs with Apache Pig, Spark, HBase, or Flink.
QUESTION 21
A data engineer must use AWS services to ingest a dataset into an Amazon S3 data lake. The data engineer profiles the dataset and discovers that the dataset contains personally identifiable information (PII). The data engineer must implement a solution to profile the dataset and obfuscate the PII.
Which solution will meet this requirement with the LEAST operational effort?
- A. Use an Amazon Kinesis Data Firehose delivery stream to process the dataset. Create an AWS Lambda transform function to identify the PII. Use an AWS SDK to obfuscate the PII. Set the S3 data lake as the target for the delivery stream.
- B. Use the Detect PII transform in AWS Glue Studio to identify the PII. Obfuscate the PII. Use an AWS Step Functions state machine to orchestrate a data pipeline to ingest the data into the S3 data lake.
- C. Use the Detect PII transform in AWS Glue Studio to identify the PII. Create a rule in AWS Glue Data Quality to obfuscate the PII. Use an AWS Step Functions state machine to orchestrate a data pipeline to ingest the data into the S3 data lake.
- D. Ingest the dataset into Amazon DynamoDB. Create an AWS Lambda function to identify and obfuscate the PII in the DynamoDB table and to transform the data. Use the same Lambda function to ingest the data into the S3 data lake.
Click to View Verified Solution & Explanation
Correct Option: C
Reasoning: AWS Glue Studio’s Detect PII transform identifies PII as a managed service. AWS Glue Data Quality rules provide a managed, low-code way to obfuscate PII. Orchestrating with AWS Step Functions is also a low-effort managed service, making this the solution with the LEAST operational effort. ❌ Why the other choices are incorrect:
- Option A is incorrect: Requires writing, testing, and maintaining custom AWS Lambda code and SDK calls for both PII detection and obfuscation, which significantly increases operational effort.
- Option B is incorrect: While
Detect PIIin Glue Studio is managed, "Obfuscate the PII" is vague and implies potential custom work or additional Glue transformations, likely requiring more effort than explicit Glue Data Quality rules. - Option D is incorrect: Ingesting into DynamoDB is an unnecessary intermediate step. Using a single Lambda function for identification, obfuscation, transformation, and ingestion into S3 involves extensive custom code and high operational overhead.
QUESTION 22
A company maintains multiple extract, transform, and load (ETL) workflows that ingest data from the company’s operational databases into an Amazon S3 based data lake. The ETL workflows use AWS Glue and Amazon EMR to process data.
The company wants to improve the existing architecture to provide automated orchestration and to require minimal manual effort.
Which solution will meet these requirements with the LEAST operational overhead?
- A. AWS Glue workflows
- B. AWS Step Functions tasks
- C. AWS Lambda functions
- D. Amazon Managed Workflows for Apache Airflow (Amazon MWAA) workflows
Click to View Verified Solution & Explanation
Correct Option: A
Reasoning: AWS Glue workflows are specifically designed to orchestrate multiple AWS Glue jobs, crawlers, and other ETL tasks, including Apache Spark jobs on EMR. They are fully managed, serverless, and natively integrate with Glue and EMR, providing automated orchestration with minimal setup and the least operational overhead. ❌ Why the other choices are incorrect:
- Option B is incorrect: AWS Step Functions can orchestrate Glue and EMR, but it often requires more configuration for specific Glue/EMR job types or necessitates custom Lambda functions for intricate EMR interactions, potentially increasing development effort over native Glue workflows.
- Option C is incorrect: AWS Lambda functions are compute services, not orchestration engines for complex multi-step workflows with dependencies. Building orchestration logic with Lambda alone would require significant custom code, leading to higher development and maintenance overhead.
- Option D is incorrect: Amazon MWAA provides powerful orchestration via Apache Airflow. While capable, it introduces an entirely new platform, learning curve, and typically has higher operational overhead than AWS Glue Workflows for pipelines already heavily reliant on AWS Glue and EMR.
QUESTION 23
A company currently stores all of its data in Amazon S3 by using the S3 Standard storage class.
A data engineer examined data access patterns to identify trends. During the first 6 months, most data files are accessed several times each day. Between 6 months and 2 years, most data files are accessed once or twice each month. After 2 years, data files are accessed only once or twice each year.
The data engineer needs to use an S3 Lifecycle policy to develop new data storage rules. The new storage solution must continue to provide high availability.
Which solution will meet these requirements in the MOST cost-effective way?
- A. Transition objects to S3 One Zone-Infrequent Access (S3 One Zone-IA) after 6 months. Transfer objects to S3 Glacier Flexible Retrieval after 2 years.
- B. Transition objects to S3 Standard-Infrequent Access (S3 Standard-IA) after 6 months. Transfer objects to S3 Glacier Flexible Retrieval after 2 years.
- C. Transition objects to S3 Standard-Infrequent Access (S3 Standard-IA) after 6 months. Transfer objects to S3 Glacier Deep Archive after 2 years.
- D. Transition objects to S3 One Zone-Infrequent Access (S3 One Zone-IA) after 6 months. Transfer objects to S3 Glacier Deep Archive after 2 years.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: Transitioning to S3 Standard-IA after 6 months provides multi-AZ high availability and cost savings for data accessed infrequently (monthly). Transferring to S3 Glacier Flexible Retrieval after 2 years is the most cost-effective choice for annual access, balancing storage cost with reasonable retrieval times (minutes to hours). ❌ Why the other choices are incorrect:
- Option A is incorrect: S3 One Zone-IA stores data in a single Availability Zone, compromising multi-AZ redundancy and resilience, which is typically implied by "high availability" when transitioning from S3 Standard.
- Option C is incorrect: S3 Glacier Deep Archive, while cheapest for storage, has the slowest retrieval times (12-48 hours). This might not be practical for "once or twice a year" access, and the total cost considering retrieval could be less effective than Flexible Retrieval.
- Option D is incorrect: This option combines the lack of multi-AZ redundancy from S3 One Zone-IA with the extremely slow retrieval times of S3 Glacier Deep Archive, making it unsuitable for the stated requirements.
QUESTION 24
A company maintains an Amazon Redshift provisioned cluster that the company uses for extract, transform, and load (ETL) operations to support critical analysis tasks. A sales team within the company maintains a Redshift cluster that the sales team uses for business intelligence (BI) tasks.
The sales team recently requested access to the data that is in the ETL Redshift cluster so the team can perform weekly summary analysis tasks. The sales team needs to join data from the ETL cluster with data that is in the sales team’s BI cluster.
The company needs a solution that will share the ETL cluster data with the sales team without interrupting the critical analysis tasks. The solution must minimize usage of the computing resources of the ETL cluster.
Which solution will meet these requirements?
- A. Set up the sales team BI cluster as a consumer of the ETL cluster by using Redshift data sharing.
- B. Create materialized views based on the sales team's requirements. Grant the sales team direct access to the ETL cluster.
- C. Create database views based on the sales team's requirements. Grant the sales team direct access to the ETL cluster.
- D. Unload a copy of the data from the ETL cluster to an Amazon S3 bucket every week. Create an Amazon Redshift Spectrum table based on the content of the ETL cluster.
Click to View Verified Solution & Explanation
Correct Option: A
Reasoning: Redshift data sharing enables sharing live data securely across clusters. The sales team’s BI cluster, as a consumer, can directly query the ETL cluster’s shared data using its own compute resources. This design completely offloads query execution from the critical ETL cluster, minimizing its resource usage and preventing interruptions. ❌ Why the other choices are incorrect:
- Option B is incorrect: Creating and refreshing materialized views on the ETL cluster would consume its compute resources, potentially interrupting critical tasks. Granting direct access means queries hit the ETL cluster directly.
- Option C is incorrect: Database views require the underlying queries to execute on the ETL cluster every time they are accessed. This directly consumes ETL cluster resources, causing potential interruptions and high usage.
- Option D is incorrect: Unloading data weekly consumes ETL cluster resources during the unload process, violating the "minimize usage" and "without interrupting" requirements. The data would also be weekly stale, not live.
QUESTION 25
A data engineer needs to join data from multiple sources to perform a one-time analysis job. The data is stored in Amazon DynamoDB, Amazon RDS, Amazon Redshift, and Amazon S3.
Which solution will meet this requirement MOST cost-effectively?
- A. Use an Amazon EMR provisioned cluster to read from all sources. Use Apache Spark to join the data and perform the analysis.
- B. Copy the data from DynamoDB, Amazon RDS, and Amazon Redshift into Amazon S3. Run Amazon Athena queries directly on the S3 files.
- C. Use Amazon Athena Federated Query to join the data from all data sources.
- D. Use Redshift Spectrum to query data from DynamoDB, Amazon RDS, and Amazon S3 directly from Redshift.
Click to View Verified Solution & Explanation
Correct Option: C
Reasoning: Amazon Athena Federated Query enables direct, serverless querying across multiple data sources (DynamoDB, RDS, Redshift, S3) without moving data. It’s pay-per-query, making it ideal and most cost-effective for a one-time, ad-hoc analysis job, avoiding infrastructure provisioning. ❌ Why the other choices are incorrect:
- Option A is incorrect: Amazon EMR requires provisioning and managing clusters (EC2 instances), which incurs higher costs and operational overhead for a one-time analysis compared to a serverless solution.
- Option B is incorrect: Copying data into S3 involves ETL/data movement overhead, cost, and time, negating the "most cost-effectively" and "one-time analysis" requirement for direct, live source querying.
- Option D is incorrect: Redshift Spectrum queries data in S3; it cannot directly query DynamoDB or RDS. Furthermore, it requires an active Redshift cluster, which is less cost-effective for a one-time job than serverless Athena.
QUESTION 26 (Multi-Select)
A company is planning to use a provisioned Amazon EMR cluster that runs Apache Spark jobs to perform big data analysis. The company requires high reliability. A big data team must follow best practices for running cost-optimized and long-running workloads on Amazon EMR. The team must find a solution that will maintain the company’s current level of performance.
Which combination of resources will meet these requirements MOST cost-effectively? (Choose two.)
- A. Use Hadoop Distributed File System (HDFS) as a persistent data store.
- B. Use Amazon S3 as a persistent data store.
- C. Use x86-based instances for core nodes and task nodes.
- D. Use Graviton instances for core nodes and task nodes.
- E. Use Spot Instances for all primary nodes
Click to View Verified Solution & Explanation
Correct Option: B,D
Reasoning: Amazon S3 provides highly durable, scalable, and cost-effective object storage. Using S3 as a persistent data store for EMR separates storage from compute, allowing clusters to be terminated and recreated without data loss. This meets reliability, cost optimization, and supports long-running workloads by ensuring data persistence independent of the EMR cluster’s lifecycle.
✅
Reasoning: AWS Graviton instances offer significant price-performance improvements over comparable x86-based instances for many workloads, including Apache Spark on Amazon EMR. Utilizing Graviton instances for core and task nodes directly addresses the requirement for cost-optimization while maintaining or improving performance, making it a best practice for long-running EMR clusters. ❌ Why the other choices are incorrect:
- Option A is incorrect: HDFS is designed for transient storage within the EMR cluster. Data on HDFS is lost when the cluster terminates, making it unsuitable for persistent data for long-running or cost-optimized workloads requiring data retention.
- Option C is incorrect: While x86 instances are standard, Graviton instances typically offer superior price-performance for Spark workloads, making x86 a less cost-effective choice when Graviton is available.
- Option E is incorrect: Using Spot Instances for all primary (master) nodes introduces high risk of interruption, severely compromising the "high reliability" requirement for the cluster management. Spot Instances are better suited for task nodes to save costs.
QUESTION 27
A company wants to implement real-time analytics capabilities. The company wants to use Amazon Kinesis Data Streams and Amazon Redshift to ingest and process streaming data at the rate of several gigabytes per second. The company wants to derive near real-time insights by using existing business intelligence (BI) and analytics tools.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Use Kinesis Data Streams to stage data in Amazon S3. Use the COPY command to load data from Amazon S3 directly into Amazon Redshift to make the data immediately available for real-time analysis.
- B. Access the data from Kinesis Data Streams by using SQL queries. Create materialized views directly on top of the stream. Refresh the materialized views regularly to query the most recent stream data.
- C. Create an external schema in Amazon Redshift to map the data from Kinesis Data Streams to an Amazon Redshift object. Create a materialized view to read data from the stream. Set the materialized view to auto refresh.
- D. Connect Kinesis Data Streams to Amazon Kinesis Data Firehose. Use Kinesis Data Firehose to stage the data in Amazon S3. Use the COPY command to load the data from Amazon S3 to a table in Amazon Redshift.
Click to View Verified Solution & Explanation
Correct Option: D
Reasoning: Kinesis Data Firehose is a fully managed service designed to deliver streaming data to S3, Redshift, and other destinations with minimal operational overhead. It automatically handles buffering, scaling, and data delivery, making it the most efficient and least complex solution for ingesting high-volume data from Kinesis Data Streams into Redshift via S3 for near real-time analytics. ❌ Why the other choices are incorrect:
- Option A is incorrect: Kinesis Data Streams does not natively write directly to Amazon S3. Implementing this would require a custom consumer (e.g., Lambda, EC2 application) to pull data from the stream and write to S3, significantly increasing operational overhead compared to Kinesis Data Firehose.
- Option B is incorrect: Amazon Redshift does not support directly accessing Kinesis Data Streams with SQL queries or creating materialized views directly on top of Kinesis Data Streams. Redshift’s streaming ingestion typically relies on Kinesis Data Firehose or S3 as an intermediary.
- Option C is incorrect: Similar to Option B, Amazon Redshift’s external schema capabilities and materialized views do not directly map to or consume data from Kinesis Data Streams without an intermediary like Kinesis Data Firehose or S3. This approach is not a supported or practical method for this integration.
QUESTION 28 (Multi-Select)
A company uses an Amazon QuickSight dashboard to monitor usage of one of the company’s applications. The company uses AWS Glue jobs to process data for the dashboard. The company stores the data in a single Amazon S3 bucket. The company adds new data every day.
A data engineer discovers that dashboard queries are becoming slower over time. The data engineer determines that the root cause of the slowing queries is long-running AWS Glue jobs.
Which actions should the data engineer take to improve the performance of the AWS Glue jobs? (Choose two.)
- A. Partition the data that is in the S3 bucket. Organize the data by year, month, and day.
- B. Increase the AWS Glue instance size by scaling up the worker type.
- C. Convert the AWS Glue schema to the DynamicFrame schema class.
- D. Adjust AWS Glue job scheduling frequency so the jobs run half as many times each day.
- E. Modify the IAM role that grants access to AWS glue to grant access to all S3 features.
Click to View Verified Solution & Explanation
Correct Option: A,B
Reasoning: Partitioning data by year, month, and day in S3 reduces the amount of data Glue jobs must scan and process. This significantly narrows the scope of operations, leading to faster job execution, especially with daily data additions and time-series analysis.
✅
Reasoning: Increasing the AWS Glue worker type (e.g., from G.1X to G.2X) scales up the computational resources (vCPU, memory) available to each worker. This provides more processing power, enabling Glue jobs to handle larger datasets or more complex transformations faster, thus reducing overall job run times. ❌ Why the other choices are incorrect:
- Option C is incorrect: Converting to the DynamicFrame schema class is not a direct performance optimization for long-running jobs. DynamicFrame is Glue’s default internal data structure; the issue lies in processing efficiency, not schema representation.
- Option D is incorrect: Adjusting scheduling frequency to run jobs less often means each job processes more data, likely increasing its run time and further exacerbating the "long-running job" problem, not solving it.
- Option E is incorrect: Modifying IAM roles to grant broader S3 access doesn’t improve job performance. It addresses permission issues, which are not indicated as the root cause for slow-running jobs.
QUESTION 29
A data engineer needs to use AWS Step Functions to design an orchestration workflow. The workflow must parallel process a large collection of data files and apply a specific transformation to each file.
Which Step Functions state should the data engineer use to meet these requirements?
- A. Parallel state
- B. Choice state
- C. Map state
- D. Wait state
Click to View Verified Solution & Explanation
Correct Option: C
Reasoning: The Map state is explicitly designed to iterate over a collection of items (like data files) and execute a sub-workflow for each item, typically in parallel. This enables efficient, scalable processing of large datasets as required. ❌ Why the other choices are incorrect:
- Option A is incorrect: The Parallel state executes multiple distinct, fixed branches concurrently. It’s not designed to iterate over an arbitrary collection of items.
- Option B is incorrect: The Choice state adds conditional logic, allowing the workflow to take different paths based on input data. It does not perform parallel processing of a collection.
- Option D is incorrect: The Wait state pauses the workflow for a specified duration or until a certain time. It has no functionality for processing or transforming data in parallel.
QUESTION 30
A company is migrating a legacy application to an Amazon S3 based data lake. A data engineer reviewed data that is associated with the legacy application. The data engineer found that the legacy data contained some duplicate information.
The data engineer must identify and remove duplicate information from the legacy application data.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Write a custom extract, transform, and load (ETL) job in Python. Use the DataFrame.drop_duplicates() function by importing the Pandas library to perform data deduplication.
- B. Write an AWS Glue extract, transform, and load (ETL) job. Use the FindMatches machine learning (ML) transform to transform the data to perform data deduplication.
- C. Write a custom extract, transform, and load (ETL) job in Python. Import the Python dedupe library. Use the dedupe library to perform data deduplication.
- D. Write an AWS Glue extract, transform, and load (ETL) job. Import the Python dedupe library. Use the dedupe library to perform data deduplication.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: AWS Glue is a fully managed, serverless ETL service, inherently offering low operational overhead. The FindMatches ML transform is purpose-built within Glue to identify and deduplicate records, including fuzzy matches, making it an efficient, integrated solution for cleaning legacy data. ❌ Why the other choices are incorrect:
- Option A is incorrect: A custom Python ETL job implies managing infrastructure, scaling, and orchestration manually, leading to significantly higher operational overhead than a managed service like AWS Glue.
- Option C is incorrect: Writing a custom Python ETL job with the
dedupelibrary requires managing the underlying compute infrastructure, resulting in substantial operational overhead, conflicting with the requirement. - Option D is incorrect: While using AWS Glue, importing and managing external libraries like
dedupeintroduces additional complexity and dependency management compared to leveraging Glue’s native, optimizedFindMatchesML Transform.
QUESTION 31 (Multi-Select)
A company is building an analytics solution. The solution uses Amazon S3 for data lake storage and Amazon Redshift for a data warehouse. The company wants to use Amazon Redshift Spectrum to query the data that is in Amazon S3.
Which actions will provide the FASTEST queries? (Choose two.)
- A. Use gzip compression to compress individual files to sizes that are between 1 GB and 5 GB.
- B. Use a columnar storage file format.
- C. Partition the data based on the most common query predicates.
- D. Split the data into files that are less than 10 KB.
- E. Use file formats that are not splittable.
Click to View Verified Solution & Explanation
Correct Option: B,C
Reasoning: Columnar storage formats like Parquet or ORC enable Redshift Spectrum to read only the specific columns required by a query. This dramatically reduces I/O and data scanned, leading to much faster query performance.
✅
Reasoning: Partitioning data by common query predicates (e.g., date, region) allows Redshift Spectrum to skip entire S3 prefixes (partitions) that don’t match the query filters. This significantly reduces the amount of data scanned, improving query speed. ❌ Why the other choices are incorrect:
- Option A is incorrect: While individual files between 1 GB and 5 GB might be acceptable, using gzip compression alone isn’t as impactful as columnar formats (which often use more efficient compression like Snappy) for query speed. Columnar formats are a more fundamental optimization.
- Option D is incorrect: Splitting data into files less than 10 KB creates the "small file problem," incurring high overhead from managing numerous files and drastically slowing down Redshift Spectrum queries. Optimal file sizes are typically 128 MB or larger.
- Option E is incorrect: Redshift Spectrum benefits greatly from parallel processing. Non-splittable file formats prevent parallel reads, forcing a single worker to process the entire file, which severely degrades query performance.
QUESTION 32 (Multi-Select)
A company uses Amazon RDS to store transactional data. The company runs an RDS DB instance in a private subnet. A developer wrote an AWS Lambda function with default settings to insert, update, or delete data in the DB instance.
The developer needs to give the Lambda function the ability to connect to the DB instance privately without using the public internet.
Which combination of steps will meet this requirement with the LEAST operational overhead? (Choose two.)
- A. Turn on the public access setting for the DB instance.
- B. Update the security group of the DB instance to allow only Lambda function invocations on the database port.
- C. Configure the Lambda function to run in the same subnet that the DB instance uses.
- D. Attach the same security group to the Lambda function and the DB instance. Include a self-referencing rule that allows access through the database port.
- E. Update the network ACL of the private subnet to include a self-referencing rule that allows access through the database port.
Click to View Verified Solution & Explanation
Correct Option: B,C
Reasoning: Configuring the Lambda function to run within the same VPC (and implicitly, the same subnet as the DB instance) is fundamental. This creates an Elastic Network Interface (ENI) for Lambda in the private subnet, enabling private, direct communication with other VPC resources like RDS.
✅
Reasoning: Once the Lambda function is in the VPC and assigned a security group, the RDS DB instance’s security group must be updated. It needs an inbound rule to explicitly allow traffic from the Lambda function’s security group on the database’s specific port, ensuring secure and private network access. ❌ Why the other choices are incorrect:
- Option A is incorrect: Turning on public access violates the requirement to connect "privately without using the public internet" and introduces security risks.
- Option D is incorrect: While technically functional, attaching the same security group to both Lambda and RDS with a self-referencing rule tightly couples their security. This often leads to more operational overhead and less granular control than separate, purpose-specific security groups in a growing architecture.
- Option E is incorrect: Network ACLs (NACLs) are stateless and subnet-level firewalls. While they can control traffic, using them for instance-to-instance communication is less granular and generally entails higher operational overhead than stateful security groups, which are designed for this purpose.
QUESTION 33
A company has a frontend ReactJS website that uses Amazon API Gateway to invoke REST APIs. The APIs perform the functionality of the website. A data engineer needs to write a Python script that can be occasionally invoked through API Gateway. The code must return results to API Gateway.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Deploy a custom Python script on an Amazon Elastic Container Service (Amazon ECS) cluster.
- B. Create an AWS Lambda Python function with provisioned concurrency.
- C. Deploy a custom Python script that can integrate with API Gateway on Amazon Elastic Kubernetes Service (Amazon EKS).
- D. Create an AWS Lambda function. Ensure that the function is warm by scheduling an Amazon EventBridge rule to invoke the Lambda function every 5 minutes by using mock events.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: AWS Lambda is a serverless compute service, inherently offering the least operational overhead. Provisioned concurrency directly keeps function instances warm, eliminating cold starts for occasional invocations and ensuring low latency without managing additional warming mechanisms. ❌ Why the other choices are incorrect:
- Option A is incorrect: ECS involves managing container images, clusters, and underlying compute resources, resulting in significantly higher operational overhead than serverless Lambda.
- Option C is incorrect: EKS requires extensive management of Kubernetes clusters, nodes, deployments, and networking components, presenting the highest operational overhead among the options.
- Option D is incorrect: While Lambda is low overhead, manually scheduling EventBridge rules for warming adds an extra resource and management burden compared to the native, integrated solution of provisioned concurrency.
QUESTION 34
A company has a production AWS account that runs company workloads. The company’s security team created a security AWS account to store and analyze security logs from the production AWS account. The security logs in the production AWS account are stored in Amazon CloudWatch Logs.
The company needs to use Amazon Kinesis Data Streams to deliver the security logs to the security AWS account.
Which solution will meet these requirements?
- A. Create a destination data stream in the production AWS account. In the security AWS account, create an IAM role that has cross-account permissions to Kinesis Data Streams in the production AWS account.
- B. Create a destination data stream in the security AWS account. Create an IAM role and a trust policy to grant CloudWatch Logs the permission to put data into the stream. Create a subscription filter in the security AWS account.
- C. Create a destination data stream in the production AWS account. In the production AWS account, create an IAM role that has cross-account permissions to Kinesis Data Streams in the security AWS account.
- D. Create a destination data stream in the security AWS account. Create an IAM role and a trust policy to grant CloudWatch Logs the permission to put data into the stream. Create a subscription filter in the production AWS account.
Click to View Verified Solution & Explanation
Correct Option: D
Reasoning: The Kinesis Data Stream must be in the security account. An IAM role is needed in the production account (source) with kinesis:PutRecord permissions, allowing logs.amazonaws.com (via trust policy) to write to the security account’s stream. A subscription filter is then created in the production account to utilize this role and send logs. ❌ Why the other choices are incorrect:
- Option A is incorrect: The destination Kinesis Data Stream needs to be in the security AWS account, not the production account.
- Option B is incorrect: Subscription filters are created in the AWS account where the CloudWatch Log Groups reside (the production account), not the destination security account.
- Option C is incorrect: The destination Kinesis Data Stream needs to be in the security AWS account, not the production account.
QUESTION 35
A company uses Amazon S3 to store semi-structured data in a transactional data lake. Some of the data files are small, but other data files are tens of terabytes.
A data engineer must perform a change data capture (CDC) operation to identify changed data from the data source. The data source sends a full snapshot as a JSON file every day and ingests the changed data into the data lake.
Which solution will capture the changed data MOST cost-effectively?
- A. Create an AWS Lambda function to identify the changes between the previous data and the current data. Configure the Lambda function to ingest the changes into the data lake.
- B. Ingest the data into Amazon RDS for MySQL. Use AWS Database Migration Service (AWS DMS) to write the changed data to the data lake.
- C. Use an open source data lake format to merge the data source with the S3 data lake to insert the new data and update the existing data.
- D. Ingest the data into an Amazon Aurora MySQL DB instance that runs Aurora Serverless. Use AWS Database Migration Service (AWS DMS) to write the changed data to the data lake.
Click to View Verified Solution & Explanation
Correct Option: C
Reasoning: Open source data lake formats (e.g., Iceberg, Delta Lake, Hudi) enable efficient CDC on S3. They support ACID transactions, schema evolution, and upsert/merge operations directly on data files. This allows ingesting full JSON snapshots and applying changes to existing S3 data cost-effectively, optimizing for large files without full re-scans or re-writes. Ideal for transactional data lakes.
QUESTION 36 (Multi-Select)
A data engineer runs Amazon Athena queries on data that is in an Amazon S3 bucket. The Athena queries use AWS Glue Data Catalog as a metadata table.
The data engineer notices that the Athena query plans are experiencing a performance bottleneck. The data engineer determines that the cause of the performance bottleneck is the large number of partitions that are in the S3 bucket. The data engineer must resolve the performance bottleneck and reduce Athena query planning time.
Which solutions will meet these requirements? (Choose two.)
- A. Create an AWS Glue partition index. Enable partition filtering.
- B. Bucket the data based on a column that the data have in common in a WHERE clause of the user query.
- C. Use Athena partition projection based on the S3 bucket prefix.
- D. Transform the data that is in the S3 bucket to Apache Parquet format.
- E. Use the Amazon EMR S3DistCP utility to combine smaller objects in the S3 bucket into larger objects.
Click to View Verified Solution & Explanation
Correct Option: A,C
Reasoning: AWS Glue partition indexes significantly speed up Athena’s GetPartitions API calls to the Glue Data Catalog. For a large number of partitions, this dramatically reduces the time Athena spends discovering and filtering partitions during query planning. Enabling partition filtering ensures only relevant partitions are processed.
✅ Use Athena partition projection based on the S3 bucket prefix.
Reasoning: Partition projection allows Athena to infer partition locations and values directly from the S3 path, completely bypassing metadata lookups in the Glue Data Catalog. This eliminates the overhead of querying Glue for partition information, drastically reducing query planning time for datasets with many partitions. ❌ Why the other choices are incorrect:
- Option B is incorrect: Bucketing optimizes data organization within partitions for specific column queries, improving scan efficiency. It does not reduce the number of partitions or speed up the initial query planning process related to partition metadata retrieval.
- Option D is incorrect: Transforming data to Apache Parquet format improves query execution performance by enabling columnar reads and reducing data scanned. However, it does not address the query planning time bottleneck caused by a large number of partitions.
- Option E is incorrect: Combining smaller objects into larger ones using utilities like S3DistCP optimizes data scan performance by reducing S3 request overhead. It does not reduce the number of partitions or the time Athena spends in the planning phase to identify and filter partitions.
QUESTION 37
A company uses Amazon Athena to run SQL queries for extract, transform, and load (ETL) tasks by using Create Table As Select (CTAS). The company must use Apache Spark instead of SQL to generate analytics.
Which solution will give the company the ability to use Spark to access Athena?
- A. Athena query settings
- B. Athena workgroup
- C. Athena data source
- D. Athena query editor
Click to View Verified Solution & Explanation
Correct Option: C
Reasoning: To allow Apache Spark to access data registered with Athena, you would configure Athena or its underlying Glue Data Catalog as a data source for Spark. Spark applications (e.g., in AWS Glue or EMR) can directly use the Glue Data Catalog, which Athena also leverages, to read table definitions and query data. Alternatively, Spark can connect to Athena via JDBC/ODBC drivers, treating Athena itself as a data source. ❌ Why the other choices are incorrect:
- Option A is incorrect: Athena query settings define operational parameters like output location or encryption, not the mechanism for external tools like Spark to connect or access data.
- Option B is incorrect: Athena workgroups isolate queries, manage costs, and enforce settings for Athena queries. They do not enable Spark to establish a connection or access Athena’s data.
- Option D is incorrect: The Athena query editor is a web-based user interface for manual SQL query execution. It is not a programmatic interface or a means for Spark to connect to Athena.
QUESTION 38
A company uses Amazon Redshift for its data warehouse. The company must automate refresh schedules for Amazon Redshift materialized views.
Which solution will meet this requirement with the LEAST effort?
- A. Use Apache Airflow to refresh the materialized views.
- B. Use an AWS Lambda user-defined function (UDF) within Amazon Redshift to refresh the materialized views.
- C. Use the query editor v2 in Amazon Redshift to refresh the materialized views.
- D. Use an AWS Glue workflow to refresh the materialized views.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: An AWS Lambda function, when integrated with Amazon EventBridge (for scheduling), provides a serverless and low-effort solution to connect to Amazon Redshift and execute REFRESH MATERIALIZED VIEW commands programmatically. This method automates the refresh process with minimal operational overhead. ❌ Why the other choices are incorrect:
- Option A is incorrect: Apache Airflow, while capable, requires significant setup and management, making it higher effort than a simple Lambda function for this specific task.
- Option C is incorrect: The Redshift query editor v2 is for ad-hoc querying and does not provide functionality to schedule or automate tasks.
- Option D is incorrect: An AWS Glue workflow is a powerful orchestration tool for complex ETL pipelines. Using it solely for a scheduled materialized view refresh is overkill and involves more effort than a Lambda function.
QUESTION 39
A company stores data from an application in an Amazon DynamoDB table that operates in provisioned capacity mode. The workloads of the application have predictable throughput load on a regular schedule. Every Monday, there is an immediate increase in activity early in the morning. The application has very low usage during weekends.
The company must ensure that the application performs consistently during peak usage times.
Which solution will meet these requirements in the MOST cost-effective way?
- A. Increase the provisioned capacity to the maximum capacity that is currently present during peak load times.
- B. Divide the table into two tables. Provision each table with half of the provisioned capacity of the original table. Spread queries evenly across both tables.
- C. Use AWS Application Auto Scaling to schedule higher provisioned capacity for peak usage times. Schedule lower capacity during off-peak times.
- D. Change the capacity mode from provisioned to on-demand. Configure the table to scale up and scale down based on the load on the table.
Click to View Verified Solution & Explanation
Correct Option: C
Reasoning: AWS Application Auto Scaling allows scheduling capacity changes for DynamoDB tables. This aligns provisioned capacity precisely with the predictable spikes (Monday mornings) and troughs (weekends), ensuring consistent performance while only paying for higher capacity when needed. This is the most cost-effective approach for predictable workloads in provisioned mode. ❌ Why the other choices are incorrect:
- Option A is incorrect: Provisioning for maximum peak capacity 24/7 is not cost-effective, as the company would pay for idle capacity during off-peak times (weekends, non-Monday mornings).
- Option B is incorrect: Dividing the table increases complexity and does not inherently address the cost-effectiveness of fluctuating, predictable loads. It’s a strategy for hot partitions, not scheduled capacity management.
- Option D is incorrect: While on-demand handles scaling automatically, it is generally more expensive per request unit than provisioned capacity for predictable workloads. The scenario explicitly mentions a predictable schedule, making scheduled provisioned capacity more cost-effective.
QUESTION 40
A company stores data in a data lake that is in Amazon S3. Some data that the company stores in the data lake contains personally identifiable information (PII). Multiple user groups need to access the raw data. The company must ensure that user groups can access only the PII that they require.
Which solution will meet these requirements with the LEAST effort?
- A. Use Amazon Athena to query the data. Set up AWS Lake Formation and create data filters to establish levels of access for the company's IAM roles. Assign each user to the IAM role that matches the user's PII access requirements.
- B. Use Amazon QuickSight to access the data. Use column-level security features in QuickSight to limit the PII that users can retrieve from Amazon S3 by using Amazon Athena. Define QuickSight access levels based on the PII access requirements of the users.
- C. Build a custom query builder UI that will run Athena queries in the background to access the data. Create user groups in Amazon Cognito. Assign access levels to the user groups based on the PII access requirements of the users.
- D. Create IAM roles that have different levels of granular access. Assign the IAM roles to IAM user groups. Use an identity-based policy to assign access levels to user groups at the column level.
Click to View Verified Solution & Explanation
Correct Option: A
Reasoning: AWS Lake Formation is specifically designed to centralize and simplify fine-grained access control (column-level, row-level, cell-level) for data lakes in S3, integrating seamlessly with Amazon Athena. Data filters in Lake Formation directly enforce PII access rules with minimal effort. ❌ Why the other choices are incorrect:
- Option B is incorrect: QuickSight’s column-level security applies within QuickSight dashboards/datasets, not directly to raw data access from S3 via Athena. It doesn’t restrict the underlying raw data access in the data lake.
- Option C is incorrect: Building a custom query builder UI and implementing fine-grained access logic is a high-effort development task, contrary to the "LEAST effort" requirement.
- Option D is incorrect: Implementing column-level security directly with IAM identity-based policies for S3 data lake files is complex and high effort, typically requiring custom logic or data re-structuring, which Lake Formation automates.
QUESTION 41 (Multi-Select)
A data engineer must build an extract, transform, and load (ETL) pipeline to process and load data from 10 source systems into 10 tables that are in an Amazon Redshift database. All the source systems generate .csv, JSON, or Apache Parquet files every 15 minutes. The source systems all deliver files into one Amazon S3 bucket. The file sizes range from 10 MB to 20 GB. The ETL pipeline must function correctly despite changes to the data schema.
Which data pipeline solutions will meet these requirements? (Choose two.)
- A. Use an Amazon EventBridge rule to run an AWS Glue job every 15 minutes. Configure the AWS Glue job to process and load the data into the Amazon Redshift tables.
- B. Use an Amazon EventBridge rule to invoke an AWS Glue workflow job every 15 minutes. Configure the AWS Glue workflow to have an on-demand trigger that runs an AWS Glue crawler and then runs an AWS Glue job when the crawler finishes running successfully. Configure the AWS Glue job to process and load the data into the Amazon Redshift tables.
- C. Configure an AWS Lambda function to invoke an AWS Glue crawler when a file is loaded into the S3 bucket. Configure an AWS Glue job to process and load the data into the Amazon Redshift tables. Create a second Lambda function to run the AWS Glue job. Create an Amazon EventBridge rule to invoke the second Lambda function when the AWS Glue crawler finishes running successfully.
- D. Configure an AWS Lambda function to invoke an AWS Glue workflow when a file is loaded into the S3 bucket. Configure the AWS Glue workflow to have an on-demand trigger that runs an AWS Glue crawler and then runs an AWS Glue job when the crawler finishes running successfully. Configure the AWS Glue job to process and load the data into the Amazon Redshift tables.
- E. Configure an AWS Lambda function to invoke an AWS Glue job when a file is loaded into the S3 bucket. Configure the AWS Glue job to read the files from the S3 bucket into an Apache Spark DataFrame. Configure the AWS Glue job to also put smaller partitions of the DataFrame into an Amazon Kinesis Data Firehose delivery stream. Configure the delivery stream to load data into the Amazon Redshift tables.
Click to View Verified Solution & Explanation
Correct Option: B,D
Reasoning: An EventBridge rule schedules the Glue Workflow every 15 minutes. The Workflow orchestrates an AWS Glue crawler for schema discovery and evolution, followed by an AWS Glue job for processing varied file types and loading data into Amazon Redshift. This robustly handles schema changes and large, diverse datasets.
✅
Reasoning: An S3 event triggers a Lambda function that invokes the AWS Glue workflow. The Workflow orchestrates an AWS Glue crawler for schema discovery, ensuring schema evolution, then runs an AWS Glue job to process files and load into Redshift. This solution handles diverse data types, sizes, and schema changes. ❌ Why the other choices are incorrect:
- Option A is incorrect: It lacks an AWS Glue crawler, making it unable to automatically handle schema evolution in the source data effectively.
- Option C is incorrect: While technically possible, orchestrating the crawler and job with multiple Lambda functions and EventBridge rules is overly complex and less idiomatic than using a single AWS Glue Workflow for sequential steps.
- Option E is incorrect: It omits an AWS Glue crawler, failing to address the schema evolution requirement. Additionally, routing batch data through Kinesis Data Firehose adds unnecessary complexity and cost for this specific ETL use case.
QUESTION 42
A company has used an Amazon Redshift table that is named Orders for 6 months. The company performs weekly updates and deletes on the table. The table has an interleaved sort key on a column that contains AWS Regions.
The company wants to reclaim disk space so that the company will not run out of storage space. The company also wants to analyze the sort key column.
Which Amazon Redshift command will meet these requirements?
- A. VACUUM FULL Orders
- B. VACUUM DELETE ONLY Orders
- C. VACUUM REINDEX Orders
- D. VACUUM SORT ONLY Orders
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: The primary requirement is to reclaim disk space to prevent running out of storage, driven by weekly updates and deletes. VACUUM DELETE ONLY efficiently removes rows marked for deletion, directly addressing this storage concern with minimal disruption. While it doesn’t re-sort, a cleaner table is more efficient for queries, and it prepares for ANALYZE (a separate command for statistics) which truly "analyzes" the column. ❌ Why the other choices are incorrect:
- Option A is incorrect:
VACUUM FULL Ordersperforms both space reclamation and a full re-sort. While it meets both requirements, it is a highly disruptive, resource-intensive, and long-running operation, often unsuitable for weekly execution on an active table compared to the more efficientDELETE ONLYfor space reclamation. - Option C is incorrect:
VACUUM REINDEX Ordersis not a valid Amazon Redshift command. Redshift uses sort keys, not traditional indexes that require reindexing. - Option D is incorrect:
VACUUM SORT ONLY Ordersre-sorts the table to optimize for sort keys but does not reclaim disk space from deleted rows. This fails the critical requirement of preventing storage exhaustion.
QUESTION 43
A company stores details about transactions in an Amazon S3 bucket. The company wants to log all writes to the S3 bucket into another S3 bucket that is in the same AWS Region.
Which solution will meet this requirement with the LEAST operational effort?
- A. Configure an S3 Event Notifications rule for all activities on the transactions S3 bucket to invoke an AWS Lambda function. Program the Lambda function to write the event to Amazon Kinesis Data Firehose. Configure Kinesis Data Firehose to write the event to the logs S3 bucket.
- B. Create a trail of management events in AWS CloudTraiL. Configure the trail to receive data from the transactions S3 bucket. Specify an empty prefix and write-only events. Specify the logs S3 bucket as the destination bucket.
- C. Configure an S3 Event Notifications rule for all activities on the transactions S3 bucket to invoke an AWS Lambda function. Program the Lambda function to write the events to the logs S3 bucket.
- D. Create a trail of data events in AWS CloudTraiL. Configure the trail to receive data from the transactions S3 bucket. Specify an empty prefix and write-only events. Specify the logs S3 bucket as the destination bucket.
Click to View Verified Solution & Explanation
Correct Option: D
Reasoning: CloudTrail data events specifically log object-level API activities like PutObject on S3 buckets. Configuring a trail for data events, specifying write-only operations, and directing logs to an S3 bucket is a fully managed, direct solution requiring no custom code, thus representing the least operational effort. ❌ Why the other choices are incorrect:
- Option A is incorrect: This solution introduces multiple services (Lambda, Kinesis Data Firehose) and custom Lambda code, significantly increasing development and operational overhead compared to CloudTrail.
- Option B is incorrect: CloudTrail management events track actions on AWS resources themselves (e.g.,
CreateBucket), not object-level data plane operations (e.g.,PutObject). It would not log "all writes." - Option C is incorrect: While simpler than A, this option still requires custom Lambda code for processing and writing events. This involves development, deployment, and ongoing maintenance, leading to more operational effort than a native CloudTrail configuration.
QUESTION 44
A data engineer needs to maintain a central metadata repository that users access through Amazon EMR and Amazon Athena queries. The repository needs to provide the schema and properties of many tables. Some of the metadata is stored in Apache Hive. The data engineer needs to import the metadata from Hive into the central metadata repository.
Which solution will meet these requirements with the LEAST development effort?
- A. Use Amazon EMR and Apache Ranger.
- B. Use a Hive metastore on an EMR cluster.
- C. Use the AWS Glue Data Catalog.
- D. Use a metastore on an Amazon RDS for MySQL DB instance.
Click to View Verified Solution & Explanation
Correct Option: C
Reasoning: The AWS Glue Data Catalog is a fully managed, central metadata repository compatible with Amazon EMR and Amazon Athena. It offers crawlers to automate schema discovery and can import existing Apache Hive metastore definitions, significantly reducing development effort to centralize metadata. ❌ Why the other choices are incorrect:
- Option A is incorrect: Apache Ranger provides authorization and auditing, not a central metadata repository for schemas or a mechanism to import Hive metadata.
- Option B is incorrect: A Hive metastore on an EMR cluster is typically ephemeral or requires complex setup for persistence and sharing; it’s not natively accessible by Athena as a central repository without additional integration.
- Option D is incorrect: While an RDS MySQL instance can host a persistent Hive metastore, Athena cannot directly access it. Integrating it with Athena and EMR would require more development effort than using AWS Glue.
QUESTION 45
A company needs to build a data lake in AWS. The company must provide row-level data access and column-level data access to specific teams. The teams will access the data by using Amazon Athena, Amazon Redshift Spectrum, and Apache Hive from Amazon EMR.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Use Amazon S3 for data lake storage. Use S3 access policies to restrict data access by rows and columns. Provide data access through Amazon S3.
- B. Use Amazon S3 for data lake storage. Use Apache Ranger through Amazon EMR to restrict data access by rows and columns. Provide data access by using Apache Pig.
- C. Use Amazon Redshift for data lake storage. Use Redshift security policies to restrict data access by rows and columns. Provide data access by using Apache Spark and Amazon Athena federated queries.
- D. Use Amazon S3 for data lake storage. Use AWS Lake Formation to restrict data access by rows and columns. Provide data access through AWS Lake Formation.
Click to View Verified Solution & Explanation
Correct Option: D
Reasoning: AWS Lake Formation is purpose-built for data lakes on Amazon S3, providing centralized, fine-grained access control, including row-level and column-level security. It integrates directly with Amazon Athena, Amazon Redshift Spectrum, and Apache Hive on Amazon EMR, fulfilling all access tool requirements with minimal operational overhead as a fully managed service. ❌ Why the other choices are incorrect:
- Option A is incorrect: S3 access policies cannot natively provide granular row-level and column-level security; they operate at object/prefix levels. Implementing this would require complex data partitioning and high operational overhead.
- Option B is incorrect: While Apache Ranger can provide granular access, managing it on EMR introduces significant operational overhead compared to a managed service. Also, Apache Pig is not among the specified access tools.
- Option C is incorrect: Amazon Redshift is a data warehouse, not suitable for core data lake storage. Storing the entire data lake within Redshift would be costly and inflexible. Apache Spark is also not a specified access tool.
QUESTION 46
A manufacturing company wants to collect data from sensors. A data engineer needs to implement a solution that ingests sensor data in near real time.
The solution must store the data to a persistent data store. The solution must store the data in nested JSON format. The company must have the ability to query from the data store with a latency of less than 10 milliseconds.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Use a self-hosted Apache Kafka cluster to capture the sensor data. Store the data in Amazon S3 for querying.
- B. Use AWS Lambda to process the sensor data. Store the data in Amazon S3 for querying.
- C. Use Amazon Kinesis Data Streams to capture the sensor data. Store the data in Amazon DynamoDB for querying.
- D. Use Amazon Simple Queue Service (Amazon SQS) to buffer incoming sensor data. Use AWS Glue to store the data in Amazon RDS for querying.
Click to View Verified Solution & Explanation
Correct Option: C
Reasoning: Amazon Kinesis Data Streams efficiently captures near real-time sensor data. Amazon DynamoDB is a fully managed NoSQL database supporting nested JSON, providing single-digit millisecond latency queries at any scale. Both services are fully managed, ensuring minimal operational overhead. ❌ Why the other choices are incorrect:
- Option A is incorrect: A self-hosted Apache Kafka cluster incurs high operational overhead. Amazon S3 is object storage and does not typically provide less than 10 milliseconds query latency for direct data access.
- Option B is incorrect: Amazon S3 is object storage and does not inherently support the less than 10 milliseconds query latency requirement for direct access and querying of stored data.
- Option D is incorrect: Amazon SQS is a message queue, not optimized for high-throughput streaming ingestion. Amazon RDS is a relational database, not ideal for efficiently storing and querying nested JSON with sub-10ms latency.
QUESTION 47
A data engineering team is using an Amazon Redshift data warehouse for operational reporting. The team wants to prevent performance issues that might result from long- running queries. A data engineer must choose a system table in Amazon Redshift to record anomalies when a query optimizer identifies conditions that might indicate performance issues.
Which table views should the data engineer use to meet this requirement?
- A. STL_USAGE_CONTROL
- B. STL_ALERT_EVENT_LOG
- C. STL_QUERY_METRICS
- D. STL_PLAN_INFO
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: STL_ALERT_EVENT_LOG is the appropriate table. It records events that might indicate problems with queries or the cluster, including alerts generated by the query optimizer when it identifies conditions (e.g., missing statistics, complex joins) that could lead to performance issues, directly meeting the requirement. ❌ Why the other choices are incorrect:
- Option A is incorrect:
STL_USAGE_CONTROLtracks WLM control events, such as changes in WLM configuration, not query optimizer-identified performance anomalies. - Option C is incorrect:
STL_QUERY_METRICSprovides detailed runtime metrics for executed queries and steps. It helps diagnose issues after they occur, not log pre-execution optimizer alerts. - Option D is incorrect:
STL_PLAN_INFOdetails information about query execution plans and optimization statistics, which helps understand planning but doesn’t log specific anomaly alerts from the optimizer.
QUESTION 48
A company is migrating its database servers from Amazon EC2 instances that run Microsoft SQL Server to Amazon RDS for Microsoft SQL Server DB instances. The company’s analytics team must export large data elements every day until the migration is complete. The data elements are the result of SQL joins across multiple tables. The data must be in Apache Parquet format. The analytics team must store the data in Amazon S3.
Which solution will meet these requirements in the MOST operationally efficient way?
- A. Create a view in the EC2 instance-based SQL Server databases that contains the required data elements. Create an AWS Glue job that selects the data directly from the view and transfers the data in Parquet format to an S3 bucket. Schedule the AWS Glue job to run every day.
- B. Schedule SQL Server Agent to run a daily SQL query that selects the desired data elements from the EC2 instance-based SQL Server databases. Configure the query to direct the output .csv objects to an S3 bucket. Create an S3 event that invokes an AWS Lambda function to transform the output format from .csv to Parquet.
- C. Use a SQL query to create a view in the EC2 instance-based SQL Server databases that contains the required data elements. Create and run an AWS Glue crawler to read the view. Create an AWS Glue job that retrieves the data and transfers the data in Parquet format to an S3 bucket. Schedule the AWS Glue job to run every day.
- D. Create an AWS Lambda function that queries the EC2 instance-based databases by using Java Database Connectivity (JDBC). Configure the Lambda function to retrieve the required data, transform the data into Parquet format, and transfer the data into an S3 bucket. Use Amazon EventBridge to schedule the Lambda function to run every day.
Click to View Verified Solution & Explanation
Correct Option: A
Reasoning: Creating a SQL Server view simplifies complex daily data extraction from joins. An AWS Glue job directly connects to the view, extracts large datasets, and natively transforms them into Parquet format, storing them in S3. Scheduling Glue daily is operationally efficient as it’s a serverless ETL service, eliminating infrastructure management.
QUESTION 49
A data engineer needs to build an extract, transform, and load (ETL) job. The ETL job will process daily incoming .csv files that users upload to an Amazon S3 bucket. The size of each S3 object is less than 100 MB.
Which solution will meet these requirements MOST cost-effectively?
- A. Write a custom Python application. Host the application on an Amazon Elastic Kubernetes Service (Amazon EKS) cluster.
- B. Write a PySpark ETL script. Host the script on an Amazon EMR cluster.
- C. Write an AWS Glue PySpark job. Use Apache Spark to transform the data.
- D. Write an AWS Glue Python shell job. Use pandas to transform the data.
Click to View Verified Solution & Explanation
Correct Option: D
Reasoning: An AWS Glue Python shell job uses a single DPU and is billed based on execution time, making it the most cost-effective solution for small files (<100MB). Pandas efficiently handles in-memory data processing for this scale, avoiding the overhead of distributed frameworks. ❌ Why the other choices are incorrect:
- Option A is incorrect: Amazon EKS clusters are expensive to operate and manage, incurring control plane and worker node costs. This is overkill for simple ETL of small files.
- Option B is incorrect: Amazon EMR clusters, even small ones, involve EC2 instance and EMR service fees. Spark is resource-intensive and expensive for processing individual small files that don’t require distributed computing.
- Option C is incorrect: AWS Glue PySpark jobs provision a distributed Spark environment (minimum 2 DPUs), which is more expensive than a Python shell job for processing small files that fit within a single node’s memory.
QUESTION 50
A company has multiple applications that use datasets that are stored in an Amazon S3 bucket. The company has an ecommerce application that generates a dataset that contains personally identifiable information (PII). The company has an internal analytics application that does not require access to the PII.
To comply with regulations, the company must not share PII unnecessarily. A data engineer needs to implement a solution that with redact PII dynamically, based on the needs of each application that accesses the dataset.
Which solution will meet the requirements with the LEAST operational overhead?
- A. Create an S3 bucket policy to limit the access each application has. Create multiple copies of the dataset. Give each dataset copy the appropriate level of redaction for the needs of the application that accesses the copy.
- B. Create an S3 Object Lambda endpoint. Use the S3 Object Lambda endpoint to read data from the S3 bucket. Implement redaction logic within an S3 Object Lambda function to dynamically redact PII based on the needs of each application that accesses the data.
- C. Use AWS Glue to transform the data for each application. Create multiple copies of the dataset. Give each dataset copy the appropriate level of redaction for the needs of the application that accesses the copy.
- D. Create an API Gateway endpoint that has custom authorizers. Use the API Gateway endpoint to read data from the S3 bucket. Initiate a REST API call to dynamically redact PII based on the needs of each application that accesses the data.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: S3 Object Lambda allows you to process data retrieved from S3 with a Lambda function. This enables dynamic redaction of PII during GET requests based on the requesting application’s identity or specific parameters. It minimizes operational overhead as it’s serverless and avoids managing multiple data copies. ❌ Why the other choices are incorrect:
- Option A is incorrect: Creating multiple copies with varying redaction levels significantly increases storage costs, data duplication, and operational complexity for data synchronization and management. It’s not truly dynamic per access.
- Option C is incorrect: Using AWS Glue for transformations and creating multiple dataset copies also leads to high operational overhead due to data duplication, increased storage, and complex pipeline management. It lacks the on-demand, dynamic nature required.
- Option D is incorrect: While API Gateway can provide dynamic access, it introduces an additional architectural layer, increasing complexity, potential latency, and operational overhead compared to the more direct and purpose-built S3 Object Lambda for transforming S3
GETrequests.
QUESTION 51
A data engineer is configuring Amazon SageMaker Studio to use AWS Glue interactive sessions to prepare data for machine learning (ML) models.
The data engineer receives an access denied error when the data engineer tries to prepare the data by using SageMaker Studio.
Which change should the engineer make to gain access to SageMaker Studio?
- A. Add the AWSGlueServiceRole managed policy to the data engineer's IAM user.
- B. Add a policy to the data engineer's IAM user that includes the sts:AssumeRole action for the AWS Glue and SageMaker service principals in the trust policy.
- C. Add the AmazonSageMakerFullAccess managed policy to the data engineer's IAM user.
- D. Add a policy to the data engineer's IAM user that allows the sts:AddAssociation action for the AWS Glue and SageMaker service principals in the trust policy.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: To resolve an access denied error when SageMaker Studio uses AWS Glue, the SageMaker execution role needs permissions for Glue and a trust policy allowing sagemaker.amazonaws.com to assume it. The data engineer’s user needs permission to pass this role (iam:PassRole). Although phrased awkwardly, sts:AssumeRole in the user’s policy conceptually enables the user to leverage roles for cross-service interaction. ❌ Why the other choices are incorrect:
- Option A is incorrect: The
AWSGlueServiceRolemanaged policy is typically assumed by the AWS Glue service itself, not attached to an IAM user to grant access for invoking Glue from SageMaker Studio. - Option C is incorrect:
AmazonSageMakerFullAccessgrants the IAM user broad SageMaker permissions, but it does not configure the SageMaker Studio execution role’s specific permissions to interact with AWS Glue or its necessary trust policy. - Option D is incorrect: The
sts:AddAssociationaction is not relevant for granting permissions for SageMaker to utilize Glue interactive sessions via IAM roles. It is not a standard IAM action for this purpose.
QUESTION 52
A healthcare company uses Amazon Kinesis Data Streams to stream real-time health data from wearable devices, hospital equipment, and patient records.
A data engineer needs to find a solution to process the streaming data. The data engineer needs to store the data in an Amazon Redshift Serverless warehouse. The solution must support near real-time analytics of the streaming data and the previous day’s data.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Load data into Amazon Kinesis Data Firehose. Load the data into Amazon Redshift.
- B. Use the streaming ingestion feature of Amazon Redshift.
- C. Load the data into Amazon S3. Use the COPY command to load the data into Amazon Redshift.
- D. Use the Amazon Aurora zero-ETL integration with Amazon Redshift.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: Redshift streaming ingestion directly pulls data from Kinesis Data Streams. It uses materialized views for near real-time analytics, delivering high performance with minimal operational overhead as Redshift natively manages the ingestion. ❌ Why the other choices are incorrect:
- Option A is incorrect: While Kinesis Data Firehose is serverless, it introduces an additional service into the pipeline, requiring separate configuration and management, thus having slightly higher operational overhead than Redshift’s native streaming ingestion.
- Option C is incorrect: Loading data to S3 then using COPY is a batch process. This method introduces significant latency, making it unsuitable for "near real-time" analytics and adding more operational steps.
- Option D is incorrect: The Amazon Aurora zero-ETL integration is designed for moving data from Aurora databases to Redshift, not from Kinesis Data Streams, making it irrelevant.
QUESTION 53
A company is planning to upgrade its Amazon Elastic Block Store (Amazon EBS) General Purpose SSD storage from gp2 to gp3. The company wants to prevent any interruptions in its Amazon EC2 instances that will cause data loss during the migration to the upgraded storage.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Create snapshots of the gp2 volumes. Create new gp3 volumes from the snapshots. Attach the new gp3 volumes to the EC2 instances.
- B. Create new gp3 volumes. Gradually transfer the data to the new gp3 volumes. When the transfer is complete, mount the new gp3 volumes to the EC2 instances to replace the gp2 volumes.
- C. Change the volume type of the existing gp2 volumes to gp3. Enter new values for volume size, IOPS, and throughput.
- D. Use AWS DataSync to create new gp3 volumes. Transfer the data from the original gp2 volumes to the new gp3 volumes.
Click to View Verified Solution & Explanation
Correct Option: C
Reasoning: AWS EBS allows in-place modification of volume types (e.g., gp2 to gp3) while attached and in-use, without stopping the instance or detaching the volume. This ensures no interruption, no data loss, and offers the lowest operational overhead. ❌ Why the other choices are incorrect:
- Option A is incorrect: Creating new volumes from snapshots and attaching them requires detaching existing volumes and attaching new ones, causing instance interruption and higher operational overhead.
- Option B is incorrect: This approach involves creating new volumes and manually transferring data, which is time-consuming, complex, and requires replacing the original volumes, leading to instance interruption.
- Option D is incorrect: AWS DataSync is an overkill solution designed for large-scale data transfers, not in-place EBS volume type upgrades. It would also involve creating new volumes and switching, causing interruption and significant overhead.
QUESTION 54
A data engineer must manage the ingestion of real-time streaming data into AWS. The data engineer wants to perform real-time analytics on the incoming streaming data by using time-based aggregations over a window of up to 30 minutes. The data engineer needs a solution that is highly fault tolerant.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Use an AWS Lambda function that includes both the business and the analytics logic to perform time-based aggregations over a window of up to 30 minutes for the data in Amazon Kinesis Data Streams.
- B. Use Amazon Managed Service for Apache Flink (previously known as Amazon Kinesis Data Analytics) to analyze the data that might occasionally contain duplicates by using multiple types of aggregations.
- C. Use an AWS Lambda function that includes both the business and the analytics logic to perform aggregations for a tumbling window of up to 30 minutes, based on the event timestamp.
- D. Use Amazon Managed Service for Apache Flink (previously known as Amazon Kinesis Data Analytics) to analyze the data by using multiple types of aggregations to perform time-based analytics over a window of up to 30 minutes.
Click to View Verified Solution & Explanation
Correct Option: D
Reasoning: Amazon Managed Service for Apache Flink (formerly Kinesis Data Analytics) is purpose-built for real-time stream processing, including stateful, time-based windowed aggregations (like 30-minute windows). As a fully managed service, it inherently provides high fault tolerance, scalability, and significantly lower operational overhead compared to custom solutions. ❌ Why the other choices are incorrect:
- Option A is incorrect: Using AWS Lambda for stateful, long-running time-based aggregations across a 30-minute window would require complex custom code for state management, fault tolerance, and ensuring exactly-once processing, leading to significant operational overhead. Lambda is stateless by nature.
- Option B is incorrect: While Amazon Managed Service for Apache Flink is the correct service, this choice is less specific than D regarding the core requirement of "time-based analytics over a window of up to 30 minutes." Choice D directly addresses the windowing requirement.
- Option C is incorrect: Similar to Option A, Lambda is ill-suited for managing stateful tumbling windows over extended periods (30 minutes) without substantial custom development for state persistence, fault tolerance, and event-time handling, incurring high operational overhead.
QUESTION 55
A company extracts approximately 1 TB of data every day from data sources such as SAP HANA, Microsoft SQL Server, MongoDB, Apache Kafka, and Amazon DynamoDB. Some of the data sources have undefined data schemas or data schemas that change.
A data engineer must implement a solution that can detect the schema for these data sources. The solution must extract, transform, and load the data to an Amazon S3 bucket. The company has a service level agreement (SLA) to load the data into the S3 bucket within 15 minutes of data creation.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Use Amazon EMR to detect the schema and to extract, transform, and load the data into the S3 bucket. Create a pipeline in Apache Spark.
- B. Use AWS Glue to detect the schema and to extract, transform, and load the data into the S3 bucket. Create a pipeline in Apache Spark.
- C. Create a PySpark program in AWS Lambda to extract, transform, and load the data into the S3 bucket.
- D. Create a stored procedure in Amazon Redshift to detect the schema and to extract, transform, and load the data into a Redshift Spectrum table. Access the table from Amazon S3.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: AWS Glue is a fully managed, serverless ETL service ideal for diverse data sources and schema evolution using Glue Crawlers for schema detection and Glue ETL (Spark-based) for processing 1 TB daily to S3. Its serverless nature ensures the LEAST operational overhead and can meet the 15-minute SLA. ❌ Why the other choices are incorrect:
- Option A is incorrect: Amazon EMR requires managing Spark clusters, which incurs significantly higher operational overhead compared to AWS Glue’s serverless approach.
- Option C is incorrect: AWS Lambda has execution time and memory limits, making it unsuitable for processing 1 TB of data daily, especially with resource-intensive PySpark programs.
- Option D is incorrect: Amazon Redshift is a data warehouse, not primarily an ETL tool for diverse external sources to S3 with schema detection. It introduces higher operational overhead and doesn’t fit the "detect schema and ETL to S3" requirement efficiently.
QUESTION 56
A company stores datasets in JSON format and .csv format in an Amazon S3 bucket. The company has Amazon RDS for Microsoft SQL Server databases, Amazon DynamoDB tables that are in provisioned capacity mode, and an Amazon Redshift cluster. A data engineering team must develop a solution that will give data scientists the ability to query all data sources by using syntax similar to SQL.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Use AWS Glue to crawl the data sources. Store metadata in the AWS Glue Data Catalog. Use Amazon Athena to query the data. Use SQL for structured data sources. Use PartiQL for data that is stored in JSON format.
- B. Use AWS Glue to crawl the data sources. Store metadata in the AWS Glue Data Catalog. Use Redshift Spectrum to query the data. Use SQL for structured data sources. Use PartiQL for data that is stored in JSON format.
- C. Use AWS Glue to crawl the data sources. Store metadata in the AWS Glue Data Catalog. Use AWS Glue jobs to transform data that is in JSON format to Apache Parquet or .csv format. Store the transformed data in an S3 bucket. Use Amazon Athena to query the original and transformed data from the S3 bucket.
- D. Use AWS Lake Formation to create a data lake. Use Lake Formation jobs to transform the data from all data sources to Apache Parquet format. Store the transformed data in an S3 bucket. Use Amazon Athena or Redshift Spectrum to query the data.
Click to View Verified Solution & Explanation
Correct Option: A
Reasoning: AWS Glue crawlers automatically populate the AWS Glue Data Catalog with metadata from S3, RDS, DynamoDB, and Redshift with minimal effort. Amazon Athena is a serverless query engine that uses the Data Catalog, allowing data scientists to query all these sources using SQL (for structured data) and PartiQL (for JSON), fulfilling the "SQL-like syntax" and "least operational overhead" requirements. ❌ Why the other choices are incorrect:
- Option B is incorrect: While Redshift Spectrum queries S3 data, it doesn’t natively query RDS or DynamoDB directly; this would require additional federated query setup within Redshift, adding overhead. Athena provides a more unified, serverless approach for disparate sources.
- Option C is incorrect: Transforming JSON data to Parquet/CSV using AWS Glue jobs introduces significant operational overhead for job development, maintenance, and execution, which is unnecessary since Athena can query JSON directly using PartiQL.
- Option D is incorrect: Using Lake Formation jobs to transform all data to Apache Parquet creates substantial operational overhead. This step is not required for the immediate query requirement and conflicts with the "least operational overhead" constraint.
QUESTION 57 (Multi-Select)
A data engineer needs to use an Amazon QuickSight dashboard that is based on Amazon Athena queries on data that is stored in an Amazon S3 bucket. When the data engineer connects to the QuickSight dashboard, the data engineer receives an error message that indicates insufficient permissions.
Which factors could cause to the permissions-related errors? (Choose two.)
- A. There is no connection between QuickSight and Athena.
- B. The Athena tables are not cataloged.
- C. QuickSight does not have access to the S3 bucket.
- D. QuickSight does not have access to decrypt S3 data.
- E. There is no IAM role assigned to QuickSight.
Click to View Verified Solution & Explanation
Correct Option: C,D
Reasoning: QuickSight, through Athena, needs IAM permissions to read data from the specified S3 bucket. Its service role must include actions like s3:GetObject and s3:ListBucket on the data bucket, and s3:PutObject/s3:GetBucketLocation on Athena’s results bucket. Lacking these explicitly causes "insufficient permissions."
✅ **QuickSight does not have access to decrypt S3 data. **
Reasoning: If the S3 data is encrypted using AWS KMS, QuickSight’s underlying IAM role (or the role assumed by Athena on its behalf) must possess kms:Decrypt permissions for the specific KMS key encrypting the S3 objects. Without this, data cannot be accessed, leading to a permissions error. ❌ Why the other choices are incorrect:
- Option A is incorrect: If there’s no connection between QuickSight and Athena, the error would typically be related to connection failure or data source unavailability, rather than an "insufficient permissions" message tied to accessing the S3 data itself.
- Option B is incorrect: If Athena tables are not cataloged in AWS Glue Data Catalog, Athena queries would fail with "Table not found" or similar errors, indicating a data definition issue, not primarily a permissions problem during data access from S3.
- Option E is incorrect: QuickSight always operates with an associated IAM role or permissions profile. "No IAM role" is a fundamental configuration problem, which would prevent any operation. The error "insufficient permissions" implies a role exists but lacks specific required privileges.
QUESTION 58
A company receives a daily file that contains customer data in .xls format. The company stores the file in Amazon S3. The daily file is approximately 2 GB in size.
A data engineer concatenates the column in the file that contains customer first names and the column that contains customer last names. The data engineer needs to determine the number of distinct customers in the file.
Which solution will meet this requirement with the LEAST operational effort?
- A. Create and run an Apache Spark job in an AWS Glue notebook. Configure the job to read the S3 file and calculate the number of distinct customers.
- B. Create an AWS Glue crawler to create an AWS Glue Data Catalog of the S3 file. Run SQL queries from Amazon Athena to calculate the number of distinct customers.
- C. Create and run an Apache Spark job in Amazon EMR Serverless to calculate the number of distinct customers.
- D. Use AWS Glue DataBrew to create a recipe that uses the COUNT_DISTINCT aggregate function to calculate the number of distinct customers.
Click to View Verified Solution & Explanation
Correct Option: D
Reasoning: AWS Glue DataBrew offers a visual, low-code interface for data preparation. It directly supports.xls files from S3, allows column concatenation through transformations, and has built-in aggregate functions like COUNT_DISTINCT. This approach minimizes writing code, setup, and debugging, resulting in the least operational effort. ❌ Why the other choices are incorrect:
- Option A is incorrect: Running Apache Spark in an AWS Glue notebook requires writing and debugging Spark code, which is more operational effort than a no-code/low-code solution like DataBrew.
- Option B is incorrect: AWS Glue crawlers do not natively support.xls files. An additional preprocessing step or custom classifier would be required to convert/handle the file, increasing operational effort significantly.
- Option C is incorrect: Similar to option A, using Amazon EMR Serverless with Apache Spark still necessitates writing and maintaining Spark code, which demands more operational effort compared to DataBrew’s visual recipe creation.
QUESTION 59 (Multi-Select)
During a security review, a company identified a vulnerability in an AWS Glue job. The company discovered that credentials to access an Amazon Redshift cluster were hard coded in the job script.
A data engineer must remediate the security vulnerability in the AWS Glue job. The solution must securely store the credentials.
Which combination of steps should the data engineer take to meet these requirements? (Choose two.)
- A. Store the credentials in the AWS Glue job parameters.
- B. Store the credentials in a configuration file that is in an Amazon S3 bucket.
- C. Access the credentials from a configuration file that is in an Amazon S3 bucket by using the AWS Glue job.
- D. Store the credentials in AWS Secrets Manager.
- E. Grant the AWS Glue job IAM role access to the stored credentials.
Click to View Verified Solution & Explanation
Correct Option: D,E
Reasoning: AWS Secrets Manager is designed for securely storing, managing, and retrieving sensitive credentials like database passwords. It encrypts secrets at rest, offers fine-grained access control, and supports automatic rotation, making it the most secure and recommended service for this use case.
✅
Reasoning: Once credentials are securely stored (e.g., in Secrets Manager), the AWS Glue job requires explicit IAM permissions to retrieve them. Granting the Glue job’s IAM role secretsmanager:GetSecretValue ensures it can access the secret while adhering to the principle of least privilege. ❌ Why the other choices are incorrect:
- Option A is incorrect: AWS Glue job parameters are not designed for sensitive credentials. They are visible in the console and API, lacking the encryption and security features of a dedicated secrets management service.
- Option B is incorrect: While S3 offers encryption, storing raw credentials in a file, even encrypted, is less secure than using AWS Secrets Manager. S3 is not purpose-built for credential management.
- Option C is incorrect: Accessing credentials from an S3 file does not inherently provide secure storage. It simply describes a retrieval method for what may be an insecurely stored secret (as in B), which is not the optimal solution for highly sensitive data.
QUESTION 60
A company receives call logs as Amazon S3 objects that contain sensitive customer information. The company must protect the S3 objects by using encryption. The company must also use encryption keys that only specific employees can access.
Which solution will meet these requirements with the LEAST effort?
- A. Use an AWS CloudHSM cluster to store the encryption keys. Configure the process that writes to Amazon S3 to make calls to CloudHSM to encrypt and decrypt the objects. Deploy an IAM policy that restricts access to the CloudHSM cluster.
- B. Use server-side encryption with customer-provided keys (SSE-
- C. Use server-side encryption with AWS KMS keys (SSE-KMS) to encrypt the objects that contain customer information. Configure an IAM policy that restricts access to the KMS keys that encrypt the objects.
- D. Use server-side encryption with Amazon S3 managed keys (SSE-S3) to encrypt the objects that contain customer information. Configure an IAM policy that restricts access to the Amazon S3 managed keys that encrypt the objects.
Click to View Verified Solution & Explanation
Correct Option: C
Reasoning: SSE-KMS encrypts S3 objects and allows granular control over access to the encryption keys via KMS key policies and IAM policies. As a managed service, KMS significantly reduces operational effort compared to self-managing keys or HSMs, meeting the "least effort" requirement. ❌ Why the other choices are incorrect:
- Option A is incorrect: AWS CloudHSM requires significant operational overhead for managing HSM clusters and integrating with applications for encryption/decryption, which is not the "least effort."
- Option B is incorrect: Server-side encryption with customer-provided keys (SSE-C) requires the customer to manage, provide, and rotate encryption keys, incurring substantial key management effort.
- Option D is incorrect: Server-side encryption with Amazon S3 managed keys (SSE-S3) does not provide granular control over key access for specific employees beyond standard S3 object access, as keys are fully managed by S3.
QUESTION 61
A company’s data engineer needs to optimize the performance of table SQL queries. The company stores data in an Amazon Redshift cluster. The data engineer cannot increase the size of the cluster because of budget constraints.
The company stores the data in multiple tables and loads the data by using the EVEN distribution style. Some tables are hundreds of gigabytes in size. Other tables are less than 10 MB in size.
Which solution will meet these requirements?
- A. Keep using the EVEN distribution style for all tables. Specify primary and foreign keys for all tables.
- B. Use the ALL distribution style for large tables. Specify primary and foreign keys for all tables.
- C. Use the ALL distribution style for rarely updated small tables. Specify primary and foreign keys for all tables.
- D. Specify a combination of distribution, sort, and partition keys for all tables.
Click to View Verified Solution & Explanation
Correct Option: C
Reasoning: Using the ALL distribution style for small, rarely updated tables copies them to all compute nodes. This eliminates data movement during joins with large tables, a common performance bottleneck in Redshift, significantly optimizing query execution without needing a larger cluster. Specifying primary/foreign keys helps the query optimizer. ❌ Why the other choices are incorrect:
- Option A is incorrect: Keeping
EVENdistribution for all tables means data might need to be shuffled during joins, hindering performance optimization. - Option B is incorrect: Applying
ALLdistribution to large, hundreds-of-gigabyte tables would consume excessive storage and I/O on every node, leading to severe performance degradation or cluster failure. - Option D is incorrect: While considering distribution and sort keys is good, Redshift doesn’t use "partition keys" in the traditional sense. This option is too general and lacks the specific, impactful advice of Option C for small tables.
QUESTION 62
A financial company wants to use Amazon Athena to run on-demand SQL queries on a petabyte-scale dataset to support a business intelligence (BI) application. An AWS Glue job that runs during non-business hours updates the dataset once every day. The BI application has a standard data refresh frequency of 1 hour to comply with company policies.
A data engineer wants to cost optimize the company’s use of Amazon Athena without adding any additional infrastructure costs.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Configure an Amazon S3 Lifecycle policy to move data to the S3 Glacier Deep Archive storage class after 1 day.
- B. Use the query result reuse feature of Amazon Athena for the SQL queries.
- C. Add an Amazon ElastiCache cluster between the BI application and Athena.
- D. Change the format of the files that are in the dataset to Apache Parquet.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: Amazon Athena’s query result reuse feature caches previous query results for a configurable duration (default 1 hour). Given the BI application’s 1-hour refresh frequency and daily data updates, identical queries within the 1-hour window will use cached results, reducing data scanned and query costs without new infrastructure or significant operational overhead. ❌ Why the other choices are incorrect:
- Option A is incorrect: Amazon S3 Glacier Deep Archive is not queryable directly by Athena. Moving data there would require restoration, increasing access time, cost, and operational overhead, failing the on-demand query requirement.
- Option C is incorrect: Adding an Amazon ElastiCache cluster introduces new infrastructure and associated costs, directly violating the "without adding any additional infrastructure costs" requirement. It also adds operational overhead.
- Option D is incorrect: While converting to Apache Parquet would reduce scan costs, it requires a significant data transformation effort (e.g., a new Glue job) which incurs processing costs and substantial operational overhead to implement and maintain for petabyte-scale data.
QUESTION 63 (Multi-Select)
An airline company is collecting metrics about flight activities for analytics. The company is conducting a proof of concept (POC) test to show how analytics can provide insights that the company can use to increase on-time departures.
The POC test uses objects in Amazon S3 that contain the metrics in .csv format. The POC test uses Amazon Athena to query the data. The data is partitioned in the S3 bucket by date.
As the amount of data increases, the company wants to optimize the storage solution to improve query performance.
Which combination of solutions will meet these requirements? (Choose two.)
- A. Add a randomized string to the beginning of the keys in Amazon S3 to get more throughput across partitions.
- B. Use an S3 bucket that is in the same account that uses Athena to query the data.
- C. Use an S3 bucket that is in the same AWS Region where the company runs Athena queries.
- D. Preprocess the .csv data to JSON format by fetching only the document keys that the query requires.
- E. Preprocess the .csv data to Apache Parquet format by fetching only the data blocks that are needed for predicates.
Click to View Verified Solution & Explanation
Correct Option: C,E
Reasoning: Placing the S3 bucket in the same AWS Region as the Athena queries significantly reduces network latency and data transfer costs, directly improving query performance, especially with increasing data volumes.
✅
Reasoning: Converting CSV to Apache Parquet, a columnar format, allows Athena to read only required columns and utilize predicate pushdown (skipping irrelevant data blocks), dramatically reducing data scanned and improving query performance and cost. ❌ Why the other choices are incorrect:
- Option A is incorrect: Randomizing S3 keys is primarily for write throughput or preventing hot partitions during uploads, not for improving Athena query scan performance, which benefits more from data format, partitioning, and location.
- Option B is incorrect: While using the same account simplifies permissions, it does not inherently improve Athena query performance. Cross-account access can be configured without performance degradation if in the same region.
- Option D is incorrect: Converting CSV to JSON typically does not improve Athena query performance; both are row-based text formats. Columnar formats like Parquet are preferred for performance optimization.
QUESTION 64
A security company stores IoT data that is in JSON format in an Amazon S3 bucket. The data structure can change when the company upgrades the IoT devices. The company wants to create a data catalog that includes the IoT data. The company’s analytics department will use the data catalog to index the data.
Which solution will meet these requirements MOST cost-effectively?
- A. Create an AWS Glue Data Catalog. Configure an AWS Glue Schema Registry. Create a new AWS Glue workload to orchestrate the ingestion of the data that the analytics department will use into Amazon Redshift Serverless.
- B. Create an Amazon Redshift provisioned cluster. Create an Amazon Redshift Spectrum database for the analytics department to explore the data that is in Amazon S3. Create Redshift stored procedures to load the data into Amazon Redshift.
- C. Create an Amazon Athena workgroup. Explore the data that is in Amazon S3 by using Apache Spark through Athena. Provide the Athena workgroup schema and tables to the analytics department.
- D. Create an AWS Glue Data Catalog. Configure an AWS Glue Schema Registry. Create AWS Lambda user defined functions (UDFs) by using the Amazon Redshift Data API. Create an AWS Step Functions job to orchestrate the ingestion of the data that the analytics department will use into Amazon Redshift Serverless.
Click to View Verified Solution & Explanation
Correct Option: A
Reasoning: AWS Glue Data Catalog centralizes metadata, and AWS Glue Schema Registry effectively manages evolving JSON schemas cost-effectively. An AWS Glue workload provides a serverless, scalable ETL engine for ingesting data into Amazon Redshift Serverless, which is also pay-per-use and aligns with the most cost-effective requirement. ❌ Why the other choices are incorrect:
- Option B is incorrect: Amazon Redshift provisioned clusters are not inherently serverless or as cost-effective for fluctuating workloads as Serverless. Redshift stored procedures are generally less flexible and scalable for complex JSON ETL compared to Glue.
- Option C is incorrect: While Athena queries S3 data, its primary role isn’t robust ETL orchestration into Redshift Serverless. This option also lacks explicit mention of a solution for schema evolution like Glue Schema Registry, which is crucial for changing JSON data.
- Option D is incorrect: Using AWS Lambda UDFs with the Redshift Data API for large-scale data ingestion is generally less efficient, scalable, and potentially more expensive than a dedicated ETL service like AWS Glue.
QUESTION 65
A company uses an Amazon Redshift provisioned cluster as its database. The Redshift cluster has five reserved ra3.4xlarge nodes and uses key distribution.
A data engineer notices that one of the nodes frequently has a CPU load over 90%. SQL Queries that run on the node are queued. The other four nodes usually have a CPU load under 15% during daily operations.
The data engineer wants to maintain the current number of compute nodes. The data engineer also wants to balance the load more evenly across all five compute nodes.
Which solution will meet these requirements?
- A. Change the sort key to be the data column that is most often used in a WHERE clause of the SQL SELECT statement.
- B. Change the distribution key to the table column that has the largest dimension.
- C. Upgrade the reserved node from ra3.4xlarge to ra3.16xlarge.
- D. Change the primary key to be the data column that is most often used in a WHERE clause of the SQL SELECT statement.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: An overloaded Redshift node with others idle indicates data skew. Changing the distribution key to a column with high cardinality and even value distribution across rows, often from a large dimension, spreads data more evenly across compute nodes, balancing the load and preventing hotspots. ❌ Why the other choices are incorrect:
- Option A is incorrect: A sort key improves query performance within a slice by ordering data, but it does not influence how data is distributed across different compute nodes to balance load.
- Option C is incorrect: Upgrading node size increases capacity but does not address the fundamental issue of uneven data distribution causing one node to be overloaded while others are underutilized. It’s a costly workaround, not a solution to skew.
- Option D is incorrect: Primary keys in Redshift are not enforced and do not affect data distribution across compute nodes or CPU load balancing. They are primarily metadata for the query optimizer.
QUESTION 66
A company is planning to migrate on-premises Apache Hadoop clusters to Amazon EMR. The company also needs to migrate a data catalog into a persistent storage solution.
The company currently stores the data catalog in an on-premises Apache Hive metastore on the Hadoop clusters. The company requires a serverless solution to migrate the data catalog.
Which solution will meet these requirements MOST cost-effectively?
- A. Use AWS Database Migration Service (AWS DMS) to migrate the Hive metastore into Amazon S3. Configure AWS Glue Data Catalog to scan Amazon S3 to produce the data catalog.
- B. Configure a Hive metastore in Amazon EMR. Migrate the existing on-premises Hive metastore into Amazon EMR. Use AWS Glue Data Catalog to store the company's data catalog as an external data catalog.
- C. Configure an external Hive metastore in Amazon EMR. Migrate the existing on-premises Hive metastore into Amazon EMR. Use Amazon Aurora MySQL to store the company's data catalog.
- D. Configure a new Hive metastore in Amazon EMR. Migrate the existing on-premises Hive metastore into Amazon EMR. Use the new metastore as the company's data catalog.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: AWS Glue Data Catalog is a serverless, persistent, and highly compatible metastore for EMR and other AWS analytics services. Migrating the on-premises Hive metastore content into Glue Data Catalog and configuring EMR to use it meets all requirements: serverless, persistent, and cost-effective. ❌ Why the other choices are incorrect:
- Option A is incorrect: Migrating a Hive metastore directly to S3 via DMS is not a functional solution for a data catalog. AWS Glue Data Catalog needs structured metadata, not just files in S3.
- Option C is incorrect: While Amazon Aurora MySQL can be an external Hive metastore, it is not serverless in the same way as AWS Glue Data Catalog and is generally less cost-effective for this specific use case.
- Option D is incorrect: A "new Hive metastore in Amazon EMR" usually refers to the ephemeral internal metastore, which is not persistent. If external, it lacks the serverless and cost-effective clarity of Glue Data Catalog.
QUESTION 67
A company needs to set up a data catalog and metadata management for data sources that run in the AWS Cloud. The company will use the data catalog to maintain the metadata of all the objects that are in a set of data stores. The data stores include structured sources such as Amazon RDS and Amazon Redshift. The data stores also include semistructured sources such as JSON files and .xml files that are stored in Amazon S3.
The company needs a solution that will update the data catalog on a regular basis. The solution also must detect changes to the source metadata.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Use Amazon Aurora as the data catalog. Create AWS Lambda functions that will connect to the data catalog. Configure the Lambda functions to gather the metadata information from multiple sources and to update the Aurora data catalog. Schedule the Lambda functions to run periodically.
- B. Use the AWS Glue Data Catalog as the central metadata repository. Use AWS Glue crawlers to connect to multiple data stores and to update the Data Catalog with metadata changes. Schedule the crawlers to run periodically to update the metadata catalog.
- C. Use Amazon DynamoDB as the data catalog. Create AWS Lambda functions that will connect to the data catalog. Configure the Lambda functions to gather the metadata information from multiple sources and to update the DynamoDB data catalog. Schedule the Lambda functions to run periodically.
- D. Use the AWS Glue Data Catalog as the central metadata repository. Extract the schema for Amazon RDS and Amazon Redshift sources, and build the Data Catalog. Use AWS Glue crawlers for data that is in Amazon S3 to infer the schema and to automatically update the Data Catalog.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: AWS Glue Data Catalog is purpose-built for metadata management. AWS Glue crawlers automatically connect to RDS, Redshift, and S3 files, infer schemas, detect changes, and update the catalog on a schedule, offering the lowest operational overhead as a fully managed service. ❌ Why the other choices are incorrect:
- Option A is incorrect: Using Amazon Aurora with custom Lambda functions for metadata management requires significant development for schema inference, change detection, and catalog updates, leading to high operational overhead.
- Option C is incorrect: Similar to Option A, using Amazon DynamoDB with custom Lambda functions involves substantial custom development and maintenance, incurring high operational overhead.
- Option D is incorrect: Manually extracting schemas for RDS and Redshift adds unnecessary operational overhead. AWS Glue crawlers can automate schema inference for these sources as well, making this approach less efficient than a fully crawler-driven solution.
QUESTION 68
A data engineer must orchestrate a data pipeline that consists of one AWS Lambda function and one AWS Glue job. The solution must integrate with AWS services.
Which solution will meet these requirements with the LEAST management overhead?
- A. Use an AWS Step Functions workflow that includes a state machine. Configure the state machine to run the Lambda function and then the AWS Glue job.
- B. Use an Apache Airflow workflow that is deployed on an Amazon EC2 instance. Define a directed acyclic graph (DAG) in which the first task is to call the Lambda function and the second task is to call the AWS Glue job.
- C. Use an AWS Glue workflow to run the Lambda function and then the AWS Glue job.
- D. Use an Apache Airflow workflow that is deployed on Amazon Elastic Kubernetes Service (Amazon EKS). Define a directed acyclic graph (DAG) in which the first task is to call the Lambda function and the second task is to call the AWS Glue job.
Click to View Verified Solution & Explanation
Correct Option: A
Reasoning: AWS Step Functions is a fully managed, serverless workflow orchestration service. It seamlessly integrates with AWS Lambda and AWS Glue, allowing declarative definition of execution order, retries, and error handling without any infrastructure management. This offers the absolute least management overhead. ❌ Why the other choices are incorrect:
- Option B is incorrect: Deploying Apache Airflow on an Amazon EC2 instance requires significant management overhead for provisioning, configuring, scaling, and maintaining the underlying EC2 instances and Airflow software.
- Option C is incorrect: While AWS Glue workflows are managed, Step Functions is a more general-purpose serverless orchestration service optimized for coordinating diverse AWS services like Lambda and Glue with potentially simpler configuration for this specific sequential task.
- Option D is incorrect: Deploying Apache Airflow on Amazon EKS involves substantial management overhead related to EKS cluster maintenance, container orchestration, and Airflow deployment, which is complex and resource-intensive.
QUESTION 69
A data engineer has a one-time task to read data from objects that are in Apache Parquet format in an Amazon S3 bucket. The data engineer needs to query only one column of the data.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Configure an AWS Lambda function to load data from the S3 bucket into a pandas dataframe. Write a SQL SELECT statement on the dataframe to query the required column.
- B. Use S3 Select to write a SQL SELECT statement to retrieve the required column from the S3 objects.
- C. Prepare an AWS Glue DataBrew project to consume the S3 objects and to query the required column.
- D. Run an AWS Glue crawler on the S3 objects. Use a SQL SELECT statement in Amazon Athena to query the required column.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: S3 Select allows direct SQL-like queries on objects, including Parquet, within S3. It can efficiently retrieve only specified columns, reducing data transfer and processing. This approach requires no additional infrastructure setup or management, making it ideal for a one-time, single-column query with the least operational overhead. ❌ Why the other choices are incorrect:
- Option A is incorrect: Requires writing and deploying a Lambda function, managing its execution environment, and handling data loading into pandas, which adds significant operational overhead compared to S3 Select.
- Option C is incorrect: AWS Glue DataBrew requires setting up a project, dataset, recipe, and job, which introduces more steps and operational overhead for a simple one-time column query.
- Option D is incorrect: Running an AWS Glue crawler to infer schema and creating a Glue Data Catalog table before querying with Athena adds operational overhead. S3 Select avoids this preliminary cataloging step for ad-hoc queries.
QUESTION 70
A data engineer is using Amazon Athena to analyze sales data that is in Amazon S3. The data engineer writes a query to retrieve sales amounts for 2023 for several products from a table named sales_data. However, the query does not return results for all of the products that are in the sales_data table. The data engineer needs to troubleshoot the query to resolve the issue.
The data engineer’s original query is as follows:
SELECT product_name, sum(sales_amount)
FROM sales_data –
WHERE year = 2023 –
GROUP BY product_name –
How should the data engineer modify the Athena query to meet these requirements?
- A. Replace sum(sales_amount) with count(*) for the aggregation.
- B. Change WHERE year = 2023 to WHERE extract(year FROM sales_data) = 2023.
- C. Add HAVING sum(sales_amount) > 0 after the GROUP BY clause.
- D. Remove the GROUP BY clause.
Click to View Verified Solution & Explanation
Correct Option: C
Reasoning: The HAVING clause filters groups based on an aggregated condition. If the requirement is to only display products with a positive sum of sales for 2023, adding HAVING sum(sales_amount) > 0 after the GROUP BY clause will effectively filter out products with zero or negative total sales. ❌ Why the other choices are incorrect:
- Option A is incorrect: Replacing
sum(sales_amount)withcount(*)changes the metric being displayed (number of transactions vs. total sales), not how groups are filtered based on their aggregated sales value. - Option B is incorrect: The original query
WHERE year = 2023impliesyearis an existing column or partition. Changing it toextract(year FROM sales_data)is only necessary ifsales_datais a timestamp column from which the year needs to be extracted, and doesn’t address filtering based on aggregate sales. - Option D is incorrect: Removing the
GROUP BY product_nameclause would aggregate thesales_amountacross all products for 2023 into a single sum, failing to provide individual product sales data as intended.
QUESTION 71
A media company uses software as a service (SaaS) applications to gather data by using third-party tools. The company needs to store the data in an Amazon S3 bucket. The company will use Amazon Redshift to perform analytics based on the data.
Which AWS service or feature will meet these requirements with the LEAST operational overhead?
- A. Amazon Managed Streaming for Apache Kafka (Amazon MSK)
- B. Amazon AppFlow
- C. AWS Glue Data Catalog
- D. Amazon Kinesis
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: Amazon AppFlow is a fully managed integration service specifically designed to securely transfer data from SaaS applications directly to AWS services like Amazon S3 and Amazon Redshift with minimal operational overhead, fulfilling all requirements. ❌ Why the other choices are incorrect:
- Option A is incorrect: Amazon MSK is a managed Apache Kafka service for real-time streaming. It’s not designed for direct, low-overhead integration with diverse SaaS applications and would incur higher operational overhead.
- Option C is incorrect: AWS Glue Data Catalog is a metadata repository for data lakes. It defines schemas for data already stored, but it is not an ingestion service to bring data from SaaS applications to S3.
- Option D is incorrect: Amazon Kinesis (e.g., Kinesis Data Firehose) can deliver to S3 and Redshift but typically requires data sources to push to it or more custom integration for SaaS, leading to more overhead than AppFlow.
QUESTION 72
A company needs to partition the Amazon S3 storage that the company uses for a data lake. The partitioning will use a path of the S3 object keys in the following format: s3://bucket/prefix/year=2023/month=01/day=01.
A data engineer must ensure that the AWS Glue Data Catalog synchronizes with the S3 storage when the company adds new partitions to the bucket.
Which solution will meet these requirements with the LEAST latency?
- A. Schedule an AWS Glue crawler to run every morning.
- B. Manually run the AWS Glue CreatePartition API twice each day.
- C. Use code that writes data to Amazon S3 to invoke the Boto3 AWS Glue create_partition API call.
- D. Run the MSCK REPAIR TABLE command from the AWS Glue console.
Click to View Verified Solution & Explanation
Correct Option: C
Reasoning: Integrating the create_partition API call directly into the data writing application ensures the partition metadata is registered in the AWS Glue Data Catalog almost simultaneously with the data being written to S3. This immediate, programmatic synchronization provides the absolute least latency. ❌ Why the other choices are incorrect:
- Option A is incorrect: Scheduled crawlers introduce significant latency, as new partitions won’t be discovered and cataloged until the next scheduled run, failing the "least latency" requirement.
- Option B is incorrect: Manually running API calls is not real-time, prone to delays and human error, and does not provide the least latency. It’s not an automated solution.
- Option D is incorrect:
MSCK REPAIR TABLE(orALTER TABLE ADD PARTITION) scans S3 paths to discover new partitions. This process still introduces latency as it’s not invoked immediately as part of the data write operation.
QUESTION 73
A company is developing an application that runs on Amazon EC2 instances. Currently, the data that the application generates is temporary. However, the company needs to persist the data, even if the EC2 instances are terminated.
A data engineer must launch new EC2 instances from an Amazon Machine Image (AMI) and configure the instances to preserve the data.
Which solution will meet this requirement?
- A. Launch new EC2 instances by using an AMI that is backed by an EC2 instance store volume that contains the application data. Apply the default settings to the EC2 instances.
- B. Launch new EC2 instances by using an AMI that is backed by a root Amazon Elastic Block Store (Amazon EBS) volume that contains the application data. Apply the default settings to the EC2 instances.
- C. Launch new EC2 instances by using an AMI that is backed by an EC2 instance store volume. Attach an Amazon Elastic Block Store (Amazon EBS) volume to contain the application data. Apply the default settings to the EC2 instances.
- D. Launch new EC2 instances by using an AMI that is backed by an Amazon Elastic Block Store (Amazon EBS) volume. Attach an additional EC2 instance store volume to contain the application data. Apply the default settings to the EC2 instances.
Click to View Verified Solution & Explanation
Correct Option: B
Reasoning: Amazon EBS volumes provide persistent block storage, meaning data stored on them can persist independently of the EC2 instance’s lifecycle. While a root EBS volume’s default DeleteOnTermination setting is true, the problem statement explicitly requires configuring instances to preserve data. This implies adjusting that setting to false for the volume containing application data, thus fulfilling the persistence requirement. An EBS-backed AMI is the standard, robust choice for instances. ❌ Why the other choices are incorrect:
- Option A is incorrect: EC2 instance store volumes are ephemeral; all data on them is lost when the instance is stopped, terminated, or fails. This does not meet the requirement to persist data.
- Option C is incorrect: An AMI backed by an EC2 instance store volume means the operating system itself is ephemeral. While an attached EBS volume could store persistent data, an instance store-backed root volume is less robust and generally not recommended for applications requiring data persistence or high availability, as the root state is lost.
- Option D is incorrect: Attaching an additional EC2 instance store volume for application data means the data is ephemeral and will be lost upon instance termination. This fails to meet the persistence requirement.
QUESTION 74 (Multi-Select)
A company uses AWS Step Functions to orchestrate a data pipeline. The pipeline consists of Amazon EMR jobs that ingest data from data sources and store the data in an Amazon S3 bucket. The pipeline also includes EMR jobs that load the data to Amazon Redshift.
The company’s cloud infrastructure team manually built a Step Functions state machine. The cloud infrastructure team launched an EMR cluster into a VPC to support the EMR jobs. However, the deployed Step Functions state machine is not able to run the EMR jobs.
Which combination of steps should the company take to identify the reason the Step Functions state machine is not able to run the EMR jobs? (Choose two.)
- A. Use AWS CloudFormation to automate the Step Functions state machine deployment. Create a step to pause the state machine during the EMR jobs that fail. Configure the step to wait for a human user to send approval through an email message. Include details of the EMR task in the email message for further analysis.
- B. Verify that the Step Functions state machine code has all IAM permissions that are necessary to create and run the EMR jobs. Verify that the Step Functions state machine code also includes IAM permissions to access the Amazon S3 buckets that the EMR jobs use. Use Access Analyzer for S3 to check the S3 access properties.
- C. Check for entries in Amazon CloudWatch for the newly created EMR cluster. Change the AWS Step Functions state machine code to use Amazon EMR on EKS. Change the IAM access policies and the security group configuration for the Step Functions state machine code to reflect inclusion of Amazon Elastic Kubernetes Service (Amazon EKS).
- D. Query the flow logs for the VPC. Determine whether the traffic that originates from the EMR cluster can successfully reach the data providers. Determine whether any security group that might be attached to the Amazon EMR cluster allows connections to the data source servers on the informed ports.
- E. Check the retry scenarios that the company configured for the EMR jobs. Increase the number of seconds in the interval between each EMR task. Validate that each fallback state has the appropriate catch for each decision state. Configure an Amazon Simple Notification Service (Amazon SNS) topic to store the error messages.
Click to View Verified Solution & Explanation
Correct Option: B,D
Reasoning: The Step Functions execution role must have IAM permissions to create, run, and manage EMR jobs. Additionally, the EMR service role (used by the EMR cluster) needs IAM permissions to access S3 buckets for input/output data and job scripts. Lack of these permissions is a primary reason jobs fail to run or complete. Access Analyzer helps verify S3 policies.
✅
Reasoning: EMR jobs need network connectivity to data sources to ingest and load data. VPC Flow Logs reveal denied traffic, and security group rules dictate allowed connections. If EMR cannot reach its data providers due to misconfigured security groups or network ACLs, the jobs will fail to execute their core function. ❌ Why the other choices are incorrect:
- Option A is incorrect: Automating deployment and configuring approval workflows are for pipeline management and debugging after initial run capabilities are established, not for diagnosing why jobs initially fail to run.
- Option C is incorrect: Checking CloudWatch logs for the cluster is a general troubleshooting step, but changing to EMR on EKS is a major architectural change, not a diagnostic step for the existing setup.
- Option E is incorrect: Retry scenarios, interval adjustments, fallback states, and SNS topics address pipeline resilience and notifications after failures, not the root cause of the initial inability for EMR jobs to run.
QUESTION 75 (Multi-Select)
A company has five offices in different AWS Regions. Each office has its own human resources (HR) department that uses a unique IAM role. The company stores employee records in a data lake that is based on Amazon S3 storage.
A data engineering team needs to limit access to the records. Each HR department should be able to access records for only employees who are within the HR department’s Region.
Which combination of steps should the data engineering team take to meet this requirement with the LEAST operational overhead? (Choose two.)
- A. Use data filters for each Region to register the S3 paths as data locations.
- B. Register the S3 path as an AWS Lake Formation location.
- C. Modify the IAM roles of the HR departments to add a data filter for each department's Region.
- D. Enable fine-grained access control in AWS Lake Formation. Add a data filter for each Region.
- E. Create a separate S3 bucket for each Region. Configure an IAM policy to allow S3 access. Restrict access based on Region.
Click to View Verified Solution & Explanation
Correct Option: B,D
Reasoning: Registering the S3 path as an AWS Lake Formation location is the foundational step. It allows Lake Formation to manage the data lake’s metadata and apply its access control policies, including fine-grained access, to the underlying S3 objects, making the data discoverable and controllable within Lake Formation.
✅
Reasoning: Enabling fine-grained access control in Lake Formation and adding data filters for each Region directly addresses the requirement. Data filters allow defining row-level access conditions (e.g., Region = 'us-east-1'), ensuring each HR department can only access records pertinent to their specific Region with minimal operational overhead. ❌ Why the other choices are incorrect:
- Option A is incorrect: Data filters define access permissions, not the registration process for S3 paths. S3 paths are registered as data locations to make the data discoverable and manageable by Lake Formation, then data filters are applied for fine-grained access.
- Option C is incorrect: IAM roles grant permissions at the service or resource level (e.g., S3 access). They do not support granular "data filters" for row-level access within data files. Implementing this directly with IAM would require complex custom solutions, negating low operational overhead.
- Option E is incorrect: Creating separate S3 buckets per Region increases operational overhead significantly for data ingestion, management, and querying. Lake Formation with data filters manages access over a unified data lake, providing a simpler, more scalable solution for fine-grained controls.
QUESTION 76
A data engineer must ingest a source of structured data that is in .csv format into an Amazon S3 data lake. The .csv files contain 15 columns. Data analysts need to run Amazon Athena queries on one or two columns of the dataset. The data analysts rarely query the entire file.
Which solution will meet these requirements MOST cost-effectively?
- A. Use an AWS Glue PySpark job to ingest the source data into the data lake in .csv format.
- B. Create an AWS Glue extract, transform, and load (ETL) job to read from the .csv structured data source. Configure the job to ingest the data into the data lake in JSON format.
- C. Use an AWS Glue PySpark job to ingest the source data into the data lake in Apache Avro format.
- D. Create an AWS Glue extract, transform, and load (ETL) job to read from the .csv structured data source. Configure the job to write the data into the data lake in Apache Parquet format.
Click to View Verified Solution & Explanation
Correct Option: D
Reasoning: Apache Parquet is a columnar storage format, highly optimized for analytical queries. For Athena, using Parquet allows it to read only the necessary columns, significantly reducing the data scanned and query costs when analysts query only 1-2 columns from a 15-column dataset. ❌ Why the other choices are incorrect:
- Option A is incorrect: CSV is a row-based format. When querying specific columns, Athena would scan entire rows/files, leading to higher data scanned costs compared to columnar formats, making it less cost-effective.
- Option B is incorrect: JSON, like CSV, is a row-based format. This means Athena would scan the entire file to extract data for specific columns, resulting in higher costs for column-subset queries.
- Option C is incorrect: Apache Avro is a row-oriented binary format. While more efficient than plain text for full record retrieval, it doesn’t offer the same column pruning benefits as Parquet for specific column queries, making it less cost-effective for this use case.
QUESTION 77
A company needs to send customer call data from its on-premises PostgreSQL database to AWS to generate near real-time insights. The solution must capture and load updates from operational data stores that run in the PostgreSQL database. The data changes continuously.
A data engineer configures an AWS Database Migration Service (AWS DMS) ongoing replication task. The task reads changes in near real time from the PostgreSQL source database transaction logs for each table. The task then sends the data to an Amazon Redshift cluster for processing.
The data engineer discovers latency issues during the change data capture (CDC) of the task The data engineer thinks that the PostgreSQL source database is causing the high latency.
Which solution will confirm that the PostgreSQL database is the source of the high latency?
- A. Use Amazon CloudWatch to monitor the DMS task. Examine the CDCIncomingChanges metric to identify delays in the CDC from the source database.
- B. Verify that logical replication of the source database is configured in the postgresql.conf configuration file.
- C. Enable Amazon CloudWatch Logs for the DMS endpoint of the source database. Check for error messages.
- D. Use Amazon CloudWatch to monitor the DMS task. Examine the CDCLatencySource metric to identify delays in the CDC from the source database.
Click to View Verified Solution & Explanation
Correct Option: D
Reasoning: The CDCLatencySource CloudWatch metric specifically measures the time elapsed from when a change occurred on the source database to when AWS DMS captured it. This directly confirms if the PostgreSQL source database is indeed the origin of the high latency observed during CDC. ❌ Why the other choices are incorrect:
- Option A is incorrect:
CDCIncomingChangesindicates the number of changes read from the source. It measures throughput, not the latency from the source database itself. - Option B is incorrect: Verifying logical replication is a prerequisite for DMS CDC. If not configured, CDC would likely fail or not start, rather than just exhibit high latency. It doesn’t diagnose the source of latency.
- Option C is incorrect: While helpful for general troubleshooting, enabling CloudWatch Logs for the endpoint primarily reveals error messages. Latency might not manifest as an explicit error, making a specific latency metric more suitable.
Need the Full Exam Simulator?
Practice the complete question bank in a realistic, timed environment with advanced tracking.
