Не получен результат от запросов ksql - PullRequest
0 голосов
/ 05 июня 2018

У меня есть кластер kafka, работающий локально, и тема с именем «my-topic», в которой я отправляю данные.У меня также работает сервер ksql, и запрос: SELECT * FROM "my-topic" дает мне сообщение "my-topic not Существует".Я понимаю, что этот запрос неправильный, и я хотел бы знать, есть ли другой способ сделать запрос в теме.

1 Ответ

0 голосов
/ 05 июня 2018

запрос: SELECT * FROM "my-topic" дает мне "my-topic not Существует"

Вы не можете выполнить SELECT непосредственно для темы Kafka в KSQL- только два оператора в KSQL, которые позволяют вам работать непосредственно с темами: (1) PRINT <topic_name> и (2) SHOW TOPICS.

Вместо этого вам необходимо создать потоки (CREATE STREAM) и / или создают таблицы (CREATE TABLE) в KSQL, чьи входные данные будут считываться и анализироваться из требуемой темы Kafka.Подумайте о потоках и таблицах в KSQL как о «темах Kafka со схемой» (дополнительную информацию см. В моей недавней статье «Потоки и таблицы в Kafka и Stream Processing», часть 1 ).

Пример:

CREATE STREAM pageviews (viewtime BIGINT, userid VARCHAR, ...)
WITH (KAFKA_TOPIC='pageviews-topic', \
      VALUE_FORMAT='DELIMITED');
...