Streaming SQL Capabilities Provided by Kinesis Analytics | HikeHills

Key Artifacts of Streaming SQL Capabilities | HikeHills

Question

HikeHills.com (HH) is an online specialty retailer that sells clothing and outdoor refreshment gear for trekking, go camping, boulevard biking, mountain biking, rock hiking, ice mountaineering, skiing, avalanche protection, snowboarding, fly fishing, kayaking, rafting, road and trace running, and many more. HH runs its entire online infrastructure on java based web applications running on AWS.

The HH is capturing clickstream data and uses a custom-build recommendation engine to recommend products that eventually improve sales, understand customer preferences and already using AWS Streaming capabilities to collect events and transaction logs and process the stream. HH has 2 different Kinesis Streams that are being configured as 2 in-application streams to be accessed by the Kinesis Analytics application.

The data joined between the 2 in-application streams need to go through multiple transformations and conversions.

What are the key artifacts of streaming SQL capabilities provided by Kinesis analytics? Select 3 options.

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D. E. F.

Answer: C,E,F.

Option A is incorrect -In-application streams exist only in the context of an Amazon Kinesis Data Analytics application.

Kinesis data streams and Kinesis Data Firehose delivery streams exist independently of your application.

https://docs.aws.amazon.com/kinesisanalytics/latest/dev/streams-pumps.html

Option B is incorrect - In-application streams exist only in the context of an Amazon Kinesis Data Analytics application.

Kinesis data streams and Kinesis Data Firehose delivery streams exist independently of your application.

https://docs.aws.amazon.com/kinesisanalytics/latest/dev/streams-pumps.html

Option C is correct -more in-application streams as needed to store intermediate query results.

https://docs.aws.amazon.com/kinesisanalytics/latest/dev/streams-pumps.html

Option D is incorrect -more in-application streams as needed to store intermediate query results.

https://docs.aws.amazon.com/kinesisanalytics/latest/dev/streams-pumps.html

Option E is correct -Insert data into the in-application stream using a pump which is a continuous insert query running that inserts data from one in-application stream to another in-application stream.

https://docs.aws.amazon.com/kinesisanalytics/latest/dev/streams-pumps.html

When you configure application input, you map a streaming source to an in-application stream that is created.

Data continuously flows from the streaming source into the in-application stream.

An in-application stream works like a table that you can query using SQL statements, but it's called a stream because it represents continuous data flow.

https://docs.aws.amazon.com/kinesisanalytics/latest/dev/streams-pumps.html

Kinesis Analytics is a service provided by AWS that allows processing and analyzing streaming data using SQL. It enables real-time data processing of continuous streams of data from sources such as Kinesis data streams, Kinesis Data Firehose, and Amazon S3.

Given the scenario described, HH is using Kinesis Streams and Kinesis Analytics to collect and process clickstream data to improve sales and customer preferences. HH has two different Kinesis Streams, which are configured as two in-application streams to be accessed by the Kinesis Analytics application. The data joined between the two in-application streams need to go through multiple transformations and conversions.

Therefore, the key artifacts of streaming SQL capabilities provided by Kinesis Analytics in this scenario are:

  1. The in-application stream: An in-application stream is a stream created within a Kinesis Analytics application. It is a logical representation of the stream data used within the application. In the scenario, HH has two Kinesis Streams that are being configured as two in-application streams to be accessed by the Kinesis Analytics application.

  2. The pump: A pump is a component that inserts data into the in-application stream. It is used to extract data from the source stream and inject it into the in-application stream. In the scenario, HH is already using AWS Streaming capabilities to collect events and transaction logs and process the stream.

  3. The SQL paradigm: The in-application stream is analogous to the DB SQL paradigm. It allows data to be queried and manipulated using SQL statements. Kinesis Analytics provides a SQL editor that can be used to create, edit, and test SQL queries that can be applied to the in-application streams. In the scenario, the data joined between the two in-application streams needs to go through multiple transformations and conversions. Therefore, SQL queries are needed to process the data and extract useful insights.

Therefore, the correct options are E, F, and either A or D, as it is not clear from the scenario whether in-application streams are able to store intermediate query results or not.