Невозможно заставить скользящее и падающее окно работать в 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 не поддерживает эту функцию (пожалуйста, исправьте меня, если я ошибаюсь). Итак, как я могу достичь вышеуказанного?

0 ответов

Другие вопросы по тегам