Отладочное чтение из топика

При разработке потоковых запросов бывает полезно быстро посмотреть, какие данные поступают в топик, без создания полноценного потокового запроса. Для этого можно выполнить обычный SELECT с параметром STREAMING = TRUE.

Важно

Этот способ предназначен только для отладки и проверки данных в топике. Для промышленного использования создавайте потоковые запросы через CREATE STREAMING QUERY.

Примечание

В примерах ydb_source — это заранее созданный внешний источник данных, а topic_name / input_topic — топики, доступные через него.

Чтение сырых данных

Простейший способ — прочитать сообщения в формате raw, без разбора схемы:

SELECT
    Data
FROM
    ydb_source.topic_name
WITH (
    FORMAT = raw,
    SCHEMA = (
        Data String
    ),
    STREAMING = TRUE
)
LIMIT 1

Параметр LIMIT обязателен — без него запрос не завершится, так как будет ожидать новые сообщения бесконечно.

Чтение с разбором JSON

Если данные в топике хранятся в формате JSON, можно сразу разобрать их по полям:

SELECT
    *
FROM
    ydb_source.topic_name
WITH (
    FORMAT = json_each_row,
    SCHEMA = (
        Time String NOT NULL,
        Level String NOT NULL,
        Host String NOT NULL
    ),
    STREAMING = TRUE
)
LIMIT 5

См. также