31. Kinesis Analytics: SQL
CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (
min_ask INTEGER,
max_bid INTEGER,
avg_last INTEGER
);
CREATE OR REPLACE PUMP "TEST_STREAM_PUMP"
AS INSERT INTO "DESTINATION_SQL_STREAM"
SELECT STREAM
MIN("ask") as min_ask,
MAX("bid") as max_bid,
AVG("last") as avg_last
FROM "SOURCE_SQL_STREAM_001"
GROUP BY PARTITION_KEY,
FLOOR(("SOURCE_SQL_STREAM_001".ROWTIME
- TIMESTAMP '1970-01-01 00:00:00') SECOND / 120 TO SECOND);
CREATE STREAM
CREATE PUMP
31
48. SQL Sliding Window
SELECT STREAM
count(*) OVER lastHour
FROM APP_STREAM
WINDOW lastHour AS (PARTITION BY ... RANGE INTERVAL '1' HOUR PRECEDING);
CREATE VIEW app_stream_view
WITH (sw = '1 hour', step_factor = 50)
AS SELECT count(*) FROM app_stream;
SELECT
count(*) OVER (PARTITION BY ... ORDER BY ...)
FROM app_stream_table;
timediff()