Question 1 · choose 1
An Amazon Redshift cluster holds the last 2 years of sales data. Eight older years are kept in Amazon S3 as Apache Parquet files and are queried a few times a month. Analysts sometimes need to join the old data with current Redshift tables in one SQL statement. The company does not want to load the old data into Redshift storage. What should a data engineer do?
- ACreate an external schema that points to the S3 bucket through a Redshift federated query
- BLoad the older files into Redshift with a COPY command each time analysts ask for them
- CShare the older data from a second Redshift cluster through a datashare to the main cluster
- DCreate an external schema and tables for the S3 data and query them with Redshift Spectrum
Show the answer and why
ACreate an external schema that points to the S3 bucket through a Redshift federated query
Incorrect
Federated queries reach live data in RDS and Aurora PostgreSQL and MySQL databases. They do not read files in Amazon S3.
BLoad the older files into Redshift with a COPY command each time analysts ask for them
Incorrect
COPY puts the data into Redshift storage, which the company wants to avoid, and repeated loads add work for every request.
CShare the older data from a second Redshift cluster through a datashare to the main cluster
Incorrect
Data sharing gives other Redshift clusters live access to data that is stored in Redshift. The old data would first have to be loaded into the second cluster.
DCreate an external schema and tables for the S3 data and query them with Redshift Spectrum
Correct
Redshift Spectrum queries structured and semi-structured files in S3 without loading them into Redshift tables, and the external tables can be joined with local tables in the same query.
Spectrum keeps rarely used data in S3 at S3 prices while letting SQL in Redshift treat it as a table. Federated queries are for operational databases, and data sharing is for data already in Redshift.
AWS documentation