Запросы к Kafka Streams KTable с использованием KSQL - PullRequest
0 голосов
/ 01 октября 2019

Я пишу это потоковое приложение Kafka, которое принимает показания датчиков, которые регистрируются в теме Kafka (как сообщения в JSON), и выполняет некоторые агрегации значений этих показаний в минуту заЧасовая и дневная. Затем я материализую KTables, полученный из этих агрегатов, и сохраню их, используя хранилище состояний по умолчанию. Мне было интересно, если бы можно было запросить эти таблицы, используя KSQL.

1 Ответ

1 голос
/ 07 октября 2019

Хотя Kafka Streams является средой выполнения для KSQL, KTables, которую вы создаете с помощью приложения Kafka Streams, недоступны в KSQL. Если вы хотите иметь TABLE в KSQL, вам нужно написать запрос KSQL, который создаст этот TABLE.

Однако обратите внимание, что запросы KSQL являются непрерывными запросами и не запросы «поиска», как в реляционной базе данных.

В отличие от этого, Kafka Streams поддерживает функцию, называемую «интерактивные запросы» (https://docs.confluent.io/current/streams/developer-guide/interactive-queries.html), которая позволяет выполнять на основе ключейпоиск в состоянии KTable.

Наконец, в KSQL ведется текущая работа, в том числе и для предоставления "интерактивных запросов".

...