У меня есть запрос ksql, который объединяет два потока, выполняет оконную агрегацию, сгруппированную по event_time и ключу,
Запрос выглядит примерно так:
select l.event_time, l.mykey, max(l.val), max(r.val)
from l left join r within 5 seconds
on l.mykey = r.mykey
where r.event_time is null or l.event_time >= r.event_time
group by l.event_time, l.mykey
Итак,Конечным результатом является запись с event_time из левого потока и некоторыми агрегированными полями.
Теперь из этого запроса я могу создать таблицу KT с CREATE TABLE XXX AS SELECT ...
.Тем не менее, поскольку у меня есть event_time в предложении GROUP BY
, я считаю, что это означает, что мой KTable будет непрерывно расти и в конечном итоге будет использовать всю мою оперативную память и / или диск.Это правильное предположение?
В идеале я хотел бы перенести это непосредственно в тему, не генерируя таблицу KTable, поскольку я хочу использовать только события, а не текущее состояние, но я не могу делать это, когдаЯ пытаюсь позвонить CREATE STREAM YYY AS SELECT ...
.
Может кто-нибудь пролить свет на это?