首页 > 解决方案 > KSQL 查询在键值前面有奇怪的键

问题描述

我创建了一个这样的流:

CREATE STREAM TEST1 WITH (KAFKA_TOPIC='TEST_1',VALUE_FORMAT='AVRO');

然后我通过 CLI 像这样查询流:

SELECT * FROM TEST1;

结果如下所示:

1571225518167 | \u0000\u0000\u0000\u0000\u0001\u0006key | 7 | 7 | blue

我想知道为什么密钥是这样形成的。我的查询是否有问题?值应该是这样的:

1571225518167 | key | 7 | 7 | blue

标签: ksqldb

解决方案


您的密钥采用 Avro 格式,KSQL 尚不支持。

如果您可以控制数据生产者,请以字符串格式编写密钥(例如 Kafka Connect 使用org.apache.kafka.connect.storage.StringConverter)。如果不是,并且您需要使用密钥,例如驱动 KSQL 表,您需要使用 KSQL 重新键入数据:

CREATE STREAM TEST1_REKEY AS SELECT * FROM TEST1 PARTITION BY my_key_col

推荐阅读