Отладочное чтение из топика
При разработке потоковых запросов бывает полезно быстро посмотреть, какие данные поступают в топик, без создания полноценного потокового запроса. Для этого можно выполнить обычный 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
См. также
- Потоковые запросы
- Форматы данных при чтении/записи из топиков — поддерживаемые форматы данных
- Потоковое чтение данных из топика — описание
STREAMING = TRUEв справочнике YQL