Я хочу выбрать последний элемент окна обработки с помощью Flink SQL. Пытался добиться этого с помощью ROW_NUMBER
в планировщике Blink. Пробовал следующий запрос:
SELECT * FROM (
SELECT key, value, ROW_NUMBER() OVER w AS rn
FROM InputTable
WINDOW w AS (PARTITION BY key, TUMBLE(rt, INTERVAL '15' MINUTE) ORDER BY -ts)
) WHERE rn = 1
// rt = ts.rowtime, ts is Long
К сожалению, это вызывает исключение
org.apache.flink.table.planner.codegen.CodeGenException: Unsupported call: TUMBLE(TIMESTAMP(3) *ROWTIME*, INTERVAL SECOND(3) NOT NULL)
If you think this function should be supported, you can create an issue and start a discussion for it.
Есть идеи, что я делаю не так? Я думал о функции TUMBLE
как о чем-то «эквивалентном» вычислению rowtime % interval
.