KSQL查询在键值的前面有奇怪的键

时间:2019-10-16 11:41:20

标签: 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

1 个答案:

答案 0 :(得分:2)

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

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

CREATE STREAM TEST1_REKEY AS SELECT * FROM TEST1 PARTITION BY my_key_col