Невозможно заставить скользящее и падающее окно работать в aws kenisis analytics
Я использую аналитическое приложение Kinesis и передаю данные в пункт назначения, скажем, пока лямбда. Мне нужно отправлять данные за последний час в лямбду каждые 1 минуту. Поэтому мне кажется, что это комбинация переворачивающегося и скользящего окна.40 секунд для переворачивания и за последний час для скольжения. У меня могут быть раздвижные и кувыркающиеся отдельно
Акробатика:
CREATE OR REPLACE STREAM "CLICKSTREAM" ("count" bigint, "channel_id" bigint,
"story_id" bigint, "time_added" timestamp );
CREATE OR REPLACE PUMP "CLICKPUMP" AS INSERT INTO "CLICKSTREAM"
("count","story_id","channel_id","time_added")
SELECT STREAM COUNT(*) as c ,"story_id","channel_id","ROWTIME" FROM
"TRENDING_STORIES_001" GROUP BY "story_id","channel_id",
FLOOR(( "TRENDING_STORIES_001".ROWTIME - TIMESTAMP '1970-01-01 00:00:00')
SECOND / 2 TO MINUTE) having "story_id">0 and "channel_id">0 ORDER BY
"ROWTIME","channel_id" asc,c desc;
Раздвижная:
CREATE OR REPLACE STREAM "CLICKSTREAM" ("count" bigint, "channel_id" bigint,
"story_id" bigint, "time_added" timestamp );
CREATE OR REPLACE PUMP "CLICKPUMP" AS INSERT INTO "CLICKSTREAM"
("count","story_id","channel_id","time_added")
SELECT STREAM COUNT(*) OVER W1 as c ,"story_id","channel_id","ROWTIME" FROM
"TRENDING_STORIES_001" WINDOW W1 AS (
PARTITION BY "channel_id"
RANGE INTERVAL '1' HOUR PRECEDING);
Но мне нужно, чтобы они оба были вместе. Однако, когда я пытаюсь это:
CREATE OR REPLACE STREAM "CLICKSTREAM" ("count" bigint, "channel_id" bigint,
"story_id" bigint, "time_added" timestamp );
CREATE OR REPLACE PUMP "CLICKPUMP" AS INSERT INTO "CLICKSTREAM"
("count","story_id","channel_id","time_added")
SELECT STREAM COUNT(*) OVER W1 as c ,"story_id","channel_id","ROWTIME" FROM
"TRENDING_STORIES_001"
GROUP BY "story_id","channel_id",
FLOOR(( "TRENDING_STORIES_001".ROWTIME - TIMESTAMP '1970-01-01 00:00:00')
SECOND / 2 TO MINUTE) having "story_id">0 and "channel_id">0
WINDOW W1 AS (
PARTITION BY "channel_id"
RANGE INTERVAL '1' MINUTE PRECEDING);
Я получил:
SQL error message: java.lang.AssertionError: Internal error: Identifier
'TRENDING_STORIES_001.ROWTIME' is not a group expr
Таким образом, кажется, что аналитика aws Kinenis не поддерживает эту функцию (пожалуйста, исправьте меня, если я ошибаюсь). Итак, как я могу достичь вышеуказанного?