AWS Certified Data Engineer – Associate (DEA-C01) — Question 120
A company uploads .csv files to an Amazon S3 bucket. The company’s data platform team has set up an AWS Glue crawler to perform data discovery and to create the tables and schemas.
An AWS Glue job writes processed data from the tables to an Amazon Redshift database. The AWS Glue job handles column mapping and creates the Amazon Redshift tables in the Redshift database appropriately.
If the company reruns the AWS Glue job for any reason, duplicate records are introduced into the Amazon Redshift tables. The company needs a solution that will update the Redshift tables without duplicates.
Which solution will meet these requirements?
Answer options
- A. Modify the AWS Glue job to copy the rows into a staging Redshift table. Add SQL commands to update the existing rows with new values from the staging Redshift table.
- B. Modify the AWS Glue job to load the previously inserted data into a MySQL database. Perform an upsert operation in the MySQL database. Copy the results to the Amazon Redshift tables.
- C. Use Apache Spark’s DataFrame dropDuplicates() API to eliminate duplicates. Write the data to the Redshift tables.
- D. Use the AWS Glue ResolveChoice built-in transform to select the value of the column from the most recent record.
Correct answer: A
Explanation
Option A is correct because it effectively uses a staging table to manage data updates, allowing for existing records to be updated without introducing duplicates. The other options either do not address the requirement for direct updates in Redshift (B), rely on a method that may not prevent duplicates (C), or do not perform updates at all (D).