如何在保持相同状态存储的同时替换 ksqlDB table?

How can I replace a ksqlDB table while keeping the same state store?

使用 Confluent 的 ksqlDB 5.5.1(我认为它与 ksqlDB 0.7.1 相关),我创建了一个聚合 table:

CREATE TABLE xxx WITH (KAFKA_TOPIC = 'xxx') AS
SELECT xxx
FROM xxx
GROUP BY xxx
EMIT CHANGES;

假设我必须添加属性 yyy 才能查询。我必须 DROP table 并重新创建它。但是这样做会创建一个新状态,我会丢失所有旧的聚合值。

一种解决方法是无限保留并使用 'auto.offset.reset'='earliest' 重新创建 table,但我正在寻找不涉及无限保留的更好解决方案。

有什么想法吗?如果能做到 REPLACE TABLE xxx AS ....

就好了

这目前不可能,但正在努力:https://github.com/confluentinc/ksql/blob/master/design-proposals/klip-28-create-or-replace.md