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

KSQL queries have strange keys infront of the key value

我创建了一个这样的流:

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

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

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

CREATE STREAM TEST1_REKEY AS SELECT * FROM TEST1 PARTITION BY my_key_col