Kafka получает драйвер JDBC для KSQL


Появился новый драйвер JDBC, который обеспечивает стандартный доступ к Apache Kafka через JDBC API. Текущая версия подключается к движку KSQL для выполнения запросов к Kafka, а затем движок преобразует эти запросы в запросы к Kafka.

Драйвер sql-jdbc-driver — это драйвер Java Database Connectivity (JDBC) типа 3. KSQL — это потоковый SQL-движок с открытым исходным кодом, лицензированный Apache 2.0, который обеспечивает потоковую обработку данных в Apache Kafka.

path854

KSQL все еще находится в стадии предварительного просмотра разработчиками, и он был разработан для упрощения чтения, записи и обработки потоковых данных в реальном времени, в масштабе, с использованием SQL-подобной семантики. По словам разработчиков, использование SQL — это простой способ выразить преобразования обработки потоков в качестве альтернативы написанию приложения на языке программирования, таком как Java или Python.

KSQL поддерживает операции обработки потоков, включая агрегирование, объединение, создание окон и управление сессиями. KSQL не позволяет выполнять перебор данных; вместо этого он используется для непрерывных преобразований. В качестве примера разработчики приводят поток кликов от пользователей, а также таблицу с информацией о счетах этих пользователей, которая постоянно обновляется. KSQL позволяет моделировать этот поток кликов и таблицу пользователей и объединять их вместе, даже если поток кликов не имеет определенного размера.

Запросы, создаваемые с помощью KSQL, описываются как непрерывные запросы, преобразования, которые выполняются непрерывно по мере прохождения через них новых данных, на потоках данных в темах Kafka.

Язык действительно похож на SQL:

CREATE TABLE error_counts AS
SELECT error_code, count(*)FROM monitoring_stream
WINDOW TUMBLING (SIZE 1 MINUTE)
WHERE type = 'ERROR'

Разработчики предполагают, что его можно использовать в приложениях, где требуется преобразовать входной поток в выходной, но приложение достаточно простое, чтобы SQL-интерфейса было достаточно без необходимости использовать родной API потоков Kafka. KSQL использует Kafka’s Streams API внутри, и они разделяют одни и те же основные абстракции для обработки потоков на Kafka.

Потоки могут быть созданы из темы Kafka или получены из существующих потоков и таблиц.

CREATE STREAM pageviews 
    (viewtime BIGINT, userid VARCHAR, pageid VARCHAR) 
        WITH (kafka_topic='pageviews', value_format=’JSON’);

Хотя текущая версия драйвера JDBC просто подключается к движку KSQL и позволяет выполнять KSQL-запросы, разработчики планируют добавить автономный режим, который будет подключаться непосредственно к брокерам Kafka.


Добавить комментарий