DAS-C01 · Question #154
A company with a video streaming website wants to analyze user behavior to make recommendations to users in real time Clickstream data is being sent to Amazon Kinesis Data Streams and reference data i
The correct answer is D. Use Amazon Kinesis Data Analytics to create an in-application table based upon the reference. To analyze real-time clickstream data from Kinesis Data Streams and join it with reference data from S3 using standard SQL for recommendations, Amazon Kinesis Data Analytics is the ideal solution.
Question
A company with a video streaming website wants to analyze user behavior to make recommendations to users in real time Clickstream data is being sent to Amazon Kinesis Data Streams and reference data is stored in Amazon S3. The company wants a solution that can use standard SQL quenes. The solution must also provide a way to look up pre-calculated reference data while making recommendations. Which solution meets these requirements?
Options
- AUse an AWS Glue Python shell job to process incoming data from Kinesis Data Streams
- BUse AWS Glue streaming and Scale to process incoming data from Kinesis Data Streams
- CUse Amazon Kinesis Data Analytics to create an in-application table based upon the reference
- DUse Amazon Kinesis Data Analytics to create an in-application table based upon the reference
How the community answered
(26 responses)- A4% (1)
- B8% (2)
- C15% (4)
- D73% (19)
Why each option
To analyze real-time clickstream data from Kinesis Data Streams and join it with reference data from S3 using standard SQL for recommendations, Amazon Kinesis Data Analytics is the ideal solution.
An AWS Glue Python shell job is not designed for continuous, high-throughput real-time stream processing from Kinesis Data Streams. It's typically used for lightweight, short-running scripts or orchestration, not for real-time analytics with SQL and reference data joins.
While AWS Glue streaming ETL jobs can process data from Kinesis Data Streams, Kinesis Data Analytics is specifically designed for real-time SQL-based stream processing. KDA offers a more direct and integrated approach for standard SQL queries and efficiently joining with S3 reference data within the streaming application itself.
This choice is a duplicate of D, which is the correct answer. Assuming this is a clerical error in the provided options and both refer to the same correct approach using Amazon Kinesis Data Analytics.
Amazon Kinesis Data Analytics (KDA) for Apache Flink allows processing real-time streaming data from Kinesis Data Streams using standard SQL (Flink SQL). It directly supports creating 'in-application' reference tables from static data stored in Amazon S3, enabling real-time lookups and joins with the incoming stream data for generating immediate recommendations, perfectly meeting all specified requirements.
Concept tested: Kinesis Data Analytics for real-time stream processing and reference data joins
Source: https://docs.aws.amazon.com/kinesisanalytics/latest/sql/getting-started-reference-data.html
Topics
Community Discussion
No community discussion yet for this question.