DEA-C01 Question 257
Single answerAn e-commerce company needs to analyze clickstream data from its website in near real-time to understand user behavior and improve customer experience. The data is ingested into Amazon Kinesis Data Streams. The company plans to process this data and store it in Amazon S3 for further analysis using Amazon Athena. Which service or approach is the most appropriate to process the data in near real-time?
- A
Use AWS Glue to process the data from Kinesis Data Streams and store it in Amazon S3.
- B
Use Amazon Kinesis Data Firehose to directly load the data from Kinesis Data Streams to Amazon S3.
- C
Use AWS Lambda to process the data from Kinesis Data Streams and write the output to Amazon S3.
- D
Use Amazon EMR to process the data from Kinesis Data Streams and store it in Amazon S3.
Show answer and explanation
Correct answer: C
Explanation
To process clickstream data in near real-time from Amazon Kinesis Data Streams, AWS Lambda is the most appropriate choice because it supports event-driven serverless computing and integrates seamlessly with Kinesis. This allows you to transform the data in real-time and store the results in Amazon S3 for further analysis. While other services like AWS Glue, Amazon EMR, and Kinesis Data Firehose are powerful, they are better suited to batch processing, simple streaming data delivery, or large-scale big data analytics.
- A. Incorrect.
AWS Glue is primarily designed for ETL jobs and batch processing, not for real-time or near real-time processing.
- B. Incorrect.
Amazon Kinesis Data Firehose is a fully managed service for delivering real-time streaming data directly to destinations like Amazon S3, but it does not support complex data transformations or processing.
- C. Correct.
AWS Lambda is a serverless compute service that integrates directly with Amazon Kinesis Data Streams, enabling real-time or near real-time data processing and transformation before storing the output in Amazon S3.
- D. Incorrect.
Amazon EMR is a powerful tool for big data processing, but it is more suitable for batch processing or large-scale data analytics rather than near real-time processing of streaming data.