我有一些avro格式的kafka主题,我创建了一个流和一个表以能够与ksql联接,但是联接的结果始终为null。
在进行故障排除之后,我发现键前面带有一些字符,具体取决于字符串的长度。我想这与avro有关,但我找不到问题所在。
payload
答案 0 :(得分:1)
您如何填充Kafka主题? KSQL当前仅支持字符串键。如果您无法更改主题的填充方式,则可以执行以下操作:
CREATE STREAM entity_src WITH (KAFKA_TOPIC = 'pisos', VALUE_FORMAT='avro');
CREATE STREAM entity_rekey AS SELECT * FROM entity_src PARTITION BY ID;
CREATE TABLE entity_table with (KAFKA_TOPIC='entity_rekey', VALUE_FORMAT='AVRO');
顺便说一句,如果您使用的是Avro,则无需指定架构。