Я пытаюсь проверить концепцию таблицы лидеров в реальном времени, используя аналитику kinesis, и пытаюсь использовать их пример для начала работы, пример временного периода с потоком данных демонстрационного биржевого тикера. Однако я получаю сообщение об ошибке Leading column in ORDER BY must be monotonic
, когда пытаюсь смоделировать сортировку таблицы лидеров по цене.
SELECT from and INSERT into like a TABLE
-- PUMP: an entity used to continuously 'SELECT ... FROM' a source STREAM, and INSERT SQL results into an output STREAM
-- Create output stream, which can be used to send to a destination
CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (ticker_symbol VARCHAR(4), price REAL);
-- Create a pump which continuously selects from a source stream (SOURCE_SQL_STREAM_001)
-- performs an aggregate count that is grouped by columns ticker over a 10-second tumbling window
-- and inserts into output stream (DESTINATION_SQL_STREAM)
CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM"
-- Aggregate function COUNT|AVG|MAX|MIN|SUM|STDDEV_POP|STDDEV_SAMP|VAR_POP|VAR_SAMP)
SELECT STREAM ticker_symbol, price
FROM "SOURCE_SQL_STREAM_001"
ORDER BY price desc
-- Uses a 10-second tumbling time window
GROUP BY ticker_symbol, price, FLOOR(("SOURCE_SQL_STREAM_001".ROWTIME - TIMESTAMP '1970-01-01 00:00:00') SECOND / 10 TO SECOND);