DEA-C01 Question 480
Single answerYou are working as a Data Engineer for a company that uses Amazon Redshift to store analytical data. The company requires you to load real-time streaming data from Amazon Kinesis Data Streams into Amazon Redshift for analysis. Which approach should you use to accomplish this?
- A
Use AWS Glue to directly connect Amazon Kinesis Data Streams to Amazon Redshift.
- B
Configure an Amazon Kinesis Data Firehose delivery stream to load data into Amazon Redshift.
- C
Use Amazon Redshift Spectrum to query data directly from Amazon Kinesis Data Streams.
- D
Write a custom application using the AWS SDK to stream data from Amazon Kinesis Data Streams into Amazon Redshift.
Show answer and explanation
Correct answer: B
Explanation
The best approach for loading real-time data from Amazon Kinesis Data Streams into Amazon Redshift is to use Amazon Kinesis Data Firehose. Firehose is a fully managed service that can capture, transform, and load streaming data into Amazon Redshift, S3, or Elasticsearch. This eliminates the need for complex custom applications or manual data handling processes.
- A. Incorrect.
AWS Glue does not provide direct integration to move real-time streaming data from Amazon Kinesis Data Streams to Amazon Redshift. It is better suited for ETL jobs involving batch processing.
- B. Correct.
Amazon Kinesis Data Firehose natively supports loading streaming data into Amazon Redshift. It is designed for this use case and simplifies the process.
- C. Incorrect.
Amazon Redshift Spectrum allows querying data stored in S3 but does not support querying real-time streaming data from Amazon Kinesis Data Streams.
- D. Incorrect.
While it is technically possible to write a custom application using the AWS SDK, this approach requires significant effort and lacks the efficiency and scalability of a managed service like Kinesis Data Firehose.