根据 ksqlDB 的文档,创建一个带主键的 stream 语法如下:
CREATE OR REPLACE STREAM tagvalue (tagId INT, value DOUBLE)
WITH (kafka_topic='tagvalue', key='tagId', value_format='json', partitions=1);
但是运行后,会看到以下错误:
Invalid config variable(s) in the WITH clause: KEY
这是因为 ksqlDB 实际上把语法给改了,正确的语法应该如下:
CREATE OR REPLACE STREAM tagvalue (tagId INT KEY, value DOUBLE)
WITH (kafka_topic='tagvalue', value_format='json', partitions=1);
参考链接
https://www.confluent.io/blog/ksqldb-0-10-updates-key-columns/