Q52 — AWS SAA-C03 Ch.16

Question 52 of 100 | ← Chapter 16

Q1252. A company has customer data in CSV format. The company stores the data in Amazon S3 and catalogs the data in an AWS Glue Data Catalog.The company has an Amazon Redshift cluster that contains historical call center data. The cluster has a heavy load, and the company does not want to load any new data into the cluster.The company wants to JOlN the customer data that is in Amazon S3 with the historical call center data that is in Amazon Redshift. The company will use a daily batch process that takes multiple hours to run.Which solution will meet these requirements with the LEAST operational overhead?

Correct Answer: A. Unload the historical call center data from Amazon Redshift to Amazon S3 by using an AWS Lambda function. Perform the JOIN with the customer data that resides in Amazon S3 by using AWS Glue ETL scripts

Explanation

The best solution with the least operational overhead is Option A, which involves unloading Redshift data to S3 and performing the JOIN using AWS Glue ETL scripts. Here's the detailed analysis:Key Requirements:Avoid loading new data into Redshift (due to heavy load).Perform a daily batch JOIN between S3 (customer CSV data) and Redshift (historical call center data). Minimize operational overhead (no manual exports, no complex setups).Analysis of Options:A. Unload Redshift to S3 via Lambda + JOIN with AWS GlueBest Choice:Redshift UNLOAD (via Lambda) exports data to S3 in a scalable, automated way. AWS Glue ETL (PySpark) efficiently joins S3-based customer data with the unloaded Redshift data. No Redshift load--data processing happens entirely outside Redshift.Fully serverless (Lambda + Glue), reducing maintenance.B. Export Redshift to EC2 via CLI + JOIN with AWS GlueHigh Operational Overhead:Requires manual or scripted exports to EC2 (not automated).EC2 instances need maintenance (scaling, patching).Less efficient than S3-based processing.C. Use Redshift Spectrum for S3 Data + JOIN in RedshiftViolates Requirement:Still requires loading data into Redshift (Spectrum queries S3, but JOIN happens in Redshift, which is under heavy load).Not allowed (company explicitly wants to avoid loading new data into Redshift).D. Export Redshift to EMR via Sqoop + JOIN with HiveMost Complex & High Overhead:Requires managing an EMR cluster (scaling, tuning, costs).Sqoop and Hive add complexity (vs. serverless Glue).Not ideal for a daily batch process.Why Option A is Best:No Redshift load (avoids performance impact).Fully automated (Lambda triggers UNLOAD, Glue handles ETL). Scalable & Cost-Effective (S3 + Glue scale automatically).Low Maintenance (no EC2/EMR management).Implementation Steps for Option A:Set up Lambda to Unload Redshift Data:Use UNLOAD command to export Redshift tables to S3 (Parquet/CSV). Schedule Lambda to run daily (e.g., via CloudWatch Events).Configure AWS Glue ETL Job:Read unloaded Redshift data and customer CSV from S3.Perform JOIN using PySpark (AWS Glue supports this natively).Store results back in S3 (or another destination).Monitor & Optimize:Use Glue metrics to track job performance.Adjust partitioning/compression for cost savings.Final Answer:AThis solution meets the requirements with minimal operational effort while ensuring Redshift remains unburdened.