Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Query
    • Форматы данных и алгоритмы сжатия
      • Чтение данных с помощью соединений
      • Чтение данных с помощью привязок к данным
      • Запись данных
    • Работа с базами данных Managed Service for ClickHouse®
    • Работа с базами данных Managed Service for Greenplum®
    • Работа с базами данных Managed Service for MySQL®
    • Работа с базами данных Managed Service for PostgreSQL
    • Работа с базами данных Managed Service for YDB
    • Запись метрик в Yandex Monitoring
  • Управление доступом
  • Правила тарификации
  • Интеграции
  • Аудитные логи Audit Trails
  • Вопросы и ответы
  • Публичные материалы
  • Обучающие курсы

В этой статье:

  • Настройка соединения
  • Модель данных
  • Пример чтения данных
  1. Источники и приемники данных
  2. Работа с Data Streams
  3. Чтение данных с помощью соединений

Чтение данных из Data Streams с помощью соединений в Query

Статья создана
Yandex Cloud
Улучшена
Dmitry A.
Обновлена 25 июня 2024 г.
  • Настройка соединения
  • Модель данных
  • Пример чтения данных

При работе с Yandex Data Streams с помощью соединений удобно выполнять прототипирование, первоначальную настройку подключений к данным.

Yandex Data Streams - это сервис, позволяющий передавать потоки данных сразу нескольким приложениям для обработки, при этом каждое приложение обрабатывает такие данные независимо от другого.

Пример чтения данных в формате Json из Yandex Data Streams.

SELECT
    JSON_VALUE(CAST(Data AS Json), "$.action") AS action
FROM yds.`input_stream`
WITH (
    format=raw,
    SCHEMA 
    (
        Data String
    )
)
LIMIT 10;

Примечание

Данные из потокового источника передаются в виде бесконечного потока. Чтобы остановить обработку и получить результат в консоли, данные в примере ограничены с помощь оператора LIMIT, который задает количество строк результата.

Настройка соединенияНастройка соединения

Для чтения данных из Yandex Data Streams необходимо:

  1. Перейти в интерфейс Yandex Query в раздел Соединения и нажать кнопку Создать.

  2. В открывшемся окне в поле Имя указать название соединения с Yandex Data Streams.

  3. В выпадающем поле Тип выбрать Data Streams.

  4. В поле Облако и каталог выберите расположение источника данных.

  5. В выпадающем поле База данных выбрать базу данных Yandex Managed Service for YDB, где ранее был создан поток Yandex Data Streams.

  6. В поле Сервисный аккаунт выбрать сервисный аккаунт, который будет использоваться для чтения данных, или создать новый, выдав ему права yds.editor.

    Чтобы использовать сервисный аккаунт, пользователю нужна роль iam.serviceAccounts.user.

  7. Создать соединение, нажав кнопку Создать.

Модель данныхМодель данных

Данные через Yandex Data Streams передаются в бинарном виде. Чтение данных выполняется с помощью SQL-выражений.

SELECT 
    <выражение> 
FROM 
    <соединение>.<имя_потока>
WITH
(
    format=raw,
    SCHEMA 
    (
        Data String
    )
)
WHERE <фильтр>;

Где:

  • <соединение> — название соединения с потоком данных Data Streams, созданного в предыдущем пункте.
  • <имя_потока> — название потока данных в Data Streams.

Пример чтения данныхПример чтения данных

Пример запроса для чтения данных из Yandex Data Streams и записи результатов в Yandex Data Streams.

$data = 
SELECT 
    JSON_VALUE(Data, "$.host") AS host,
    JSON_VALUE(Data, "$.count") AS count,
    JSON_VALUE(Data, "$.tag") AS tag,
FROM 
(
    SELECT
        CAST(Data AS Json) AS Data
    FROM yds.`input_stream`
    WITH 
    (
        format=raw,
        SCHEMA 
        (
            Data String
        )
    )
)
WHERE 
    JSON_VALUE(Data, "$.tag") = "my_tag";

SELECT 
    * 
FROM 
    $data
LIMIT 10;

Где:

Поле Тип Описание
yds Название соединения с Yandex Data Streams
input_stream Название потока-источника данных в SQL-запросе
host Строка Строковый параметр запроса
raw Строка Формат данных. На данный поддерживается только формат raw - сырые данные

Была ли статья полезна?

Предыдущая
Запись данных
Следующая
Чтение данных с помощью привязок к данным
Проект Яндекса
© 2025 ООО «Яндекс.Облако»