Запросы KSQL имеют странные ключи перед значением ключа - PullRequest
0 голосов
/ 16 октября 2019

Я создал поток, подобный этому:

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 Ответ

2 голосов
/ 16 октября 2019

Ваш ключ в формате 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
...