Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Data Transfer
  • Доступные трансферы
  • Начало работы
    • Все руководства
      • Apache Kafka® в ClickHouse®
      • Apache Kafka® в PostgreSQL
      • Apache Kafka® в Greenplum®
      • Apache Kafka® в MongoDB
      • Apache Kafka® в MySQL®
      • Apache Kafka® в OpenSearch
      • Apache Kafka® в YDB
      • Apache Kafka® в YDS
      • YDS в Apache Kafka®
      • YDS в ClickHouse®
      • YDS в Object Storage
      • YDS в YDB
      • Ввод данных в системы хранения
  • Решение проблем
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • Обучающие курсы

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

  • Необходимые платные ресурсы
  • Перед началом работы
  • Подготовьте поток данных Data Streams
  • Подготовьте и активируйте трансфер
  • Проверьте работоспособность трансфера
  • Удалите созданные ресурсы
  1. Практические руководства
  2. Поставка данных из очередей
  3. YDS в ClickHouse®

Поставка данных из очереди YDS в ClickHouse®

Статья создана
Yandex Cloud
Обновлена 17 марта 2025 г.
  • Необходимые платные ресурсы
  • Перед началом работы
  • Подготовьте поток данных Data Streams
  • Подготовьте и активируйте трансфер
  • Проверьте работоспособность трансфера
  • Удалите созданные ресурсы

С помощью сервиса Data Transfer вы можете поставлять данные из потока Data Streams в сервис Managed Service for ClickHouse®.

Чтобы перенести данные:

  1. Подготовьте поток данных Data Streams.
  2. Подготовьте и активируйте трансфер.
  3. Проверьте работоспособность трансфера.

Если созданные ресурсы вам больше не нужны, удалите их.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки описываемого решения входят:

  • Плата за кластер Managed Service for ClickHouse®: использование вычислительных ресурсов, выделенных хостам (в том числе хостам ZooKeeper), и дискового пространства (см. тарифы Managed Service for ClickHouse®).

  • Плата за использование публичных IP-адресов, если для хостов кластера включен публичный доступ (см. тарифы Virtual Private Cloud).

  • Плата за базу данных Managed Service for YDB. Тарификация зависит от режима использования:

    • Для бессерверного режима — оплачиваются операции с данными и объем хранимых данных.
    • Для режима с выделенными инстансами — оплачивается использование вычислительных ресурсов, выделенных БД, и дискового пространства.

    Подробнее о тарифах Managed Service for YDB.

  • Плата за сервис Data Streams. Она зависит от режима тарификации:

    • По выделенным ресурсам — оплачивается количество единиц записываемых данных и ресурсы, выделенные для обслуживания потоков данных.
    • По фактическому использованию:
      • Если БД работает в бессерверном режиме, поток данных тарифицируется по правилам тарификации для бессерверного режима YDB.

      • Если БД работает в режиме с выделенными инстансами, поток данных отдельно не тарифицируется (оплачивается только БД, см. правила тарификации).

    Подробнее о тарифах Data Streams.

  • Плата за трансфер: использование вычислительных ресурсов и количество переданных строк данных (см. тарифы Data Transfer).

Перед началом работыПеред началом работы

Подготовьте инфраструктуру:

Вручную
Terraform
  1. Создайте базу данных Managed Service for YDB любой подходящей конфигурации.

  2. Создайте кластер Managed Service for ClickHouse® любой подходящей конфигурации.

  3. Создайте эндпоинт для приемника:

    • Тип базы данных — ClickHouse.

    • Параметры эндпоинта:

      • Настройки подключения:

        • Тип подключения — Managed кластер.

          • Managed кластер — выберите кластер-приемник из списка.
        • База данных — укажите имя базы данных.

        • Пользователь и Пароль — укажите имя и пароль пользователя с доступом к базе, например, владельца базы данных.

  1. Если у вас еще нет Terraform, установите его.

  2. Получите данные для аутентификации. Вы можете добавить их в переменные окружения или указать далее в файле с настройками провайдера.

  3. Настройте и инициализируйте провайдер. Чтобы не создавать конфигурационный файл с настройками провайдера вручную, скачайте его.

  4. Поместите конфигурационный файл в отдельную рабочую директорию и укажите значения параметров. Если данные для аутентификации не были добавлены в переменные окружения, укажите их в конфигурационном файле.

  5. Скачайте в ту же рабочую директорию файл конфигурации data-transfer-yds-mch.tf.

    В этом файле описаны:

    • база данных Managed Service for YDB;
    • сервисный аккаунт с ролью yds.editor;
    • сеть;
    • подсеть;
    • группа безопасности и правила, необходимые для подключения к кластеру Managed Service for ClickHouse® из интернета;
    • кластер-приемник Managed Service for ClickHouse®;
    • эндпоинт для приемника;
    • трансфер.
  6. Укажите в файле data-transfer-yds-mch.tf:

    • folder_id — идентификатор каталога, в котором будут созданы ресурсы.
    • sa_name — имя сервисного аккаунта для использования в эндпоинтах.
    • source_db_name — имя базы данных Managed Service for YDB.
    • target_db_name — имя базы данных ClickHouse®.
    • target_user и target_password — имя и пароль пользователя-владельца базы данных ClickHouse®.
    • transfer_enabled – значение 0, чтобы не создавать трансфер до создания эндпоинта-источника вручную.
  7. Проверьте корректность файлов конфигурации Terraform с помощью команды:

    terraform validate
    

    Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  8. Создайте необходимую инфраструктуру:

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    В указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления.

Подготовьте поток данных Data StreamsПодготовьте поток данных Data Streams

  1. Создайте поток данных Data Streams.
  2. Отправьте в поток тестовые данные. В качестве сообщения используйте данные от сенсоров автомобиля в формате JSON:
{
    "device_id":"iv9a94th6rzt********",
    "datetime":"2022-06-05 17:27:00",
    "latitude":55.70329032,
    "longitude":37.65472196,
    "altitude":427.5,
    "speed":0,
    "battery_voltage":"23.5",
    "cabin_temperature":17,
    "fuel_level":null
}

Подготовьте и активируйте трансферПодготовьте и активируйте трансфер

Примечание

Для ускорения поставки большого объема данных используйте специальные настройки эндпоинтов.

  1. Создайте эндпоинт для источника:

    • Тип базы данных — Yandex Data Streams.

    • Параметры эндпоинта:

      • Настройки подключения:

        • База данных — выберите базу данных Managed Service for YDB из списка.
        • Поток — укажите имя потока Data Streams.
        • Сервисный аккаунт — выберите или создайте сервисный аккаунт с ролью yds.editor.
      • Расширенные настройки:

        • Правила конвертации — JSON.
        • Схема данных – Вы можете задать схему двумя способами:
          • Список полей.

            Задайте список полей топика вручную:

            Имя Тип Ключ
            device_id STRING Да
            datetime DATETIME
            latitude DOUBLE
            longitude DOUBLE
            altitude DOUBLE
            speed DOUBLE
            battery_voltage ANY
            cabin_temperature DOUBLE
            fuel_level ANY
          • JSON-спецификация.

            Создайте и загрузите файл схемы данных в формате JSON json_schema.json:

            json_schema.json
            [
                {
                    "name": "device_id",
                    "type": "string",
                    "key": true
                },
                {
                    "name": "datetime",
                    "type": "datetime"
                },
                {
                    "name": "latitude",
                    "type": "double"
                },
                {
                    "name": "longitude",
                    "type": "double"
                },
                {
                    "name": "altitude",
                    "type": "double"
                },
                {
                    "name": "speed",
                    "type": "double"
                },
                {
                    "name": "battery_voltage",
                    "type": "any"
                },
                {
                    "name": "cabin_temperature",
                    "type": "double"
                },
                {
                    "name": "fuel_level",
                    "type": "any"
                }
            ]
            
  2. Создайте трансфер:

    Вручную
    Terraform
    1. Создайте трансфер типа Репликация, использующий созданные эндпоинты.
    2. Активируйте его.
    1. Укажите в файле data-transfer-yds-mch.tf переменные:

      • source_endpoint_id — значение идентификатора эндпоинта для источника;
      • transfer_enabled – значение 1 для создания трансфера.
    2. Проверьте корректность файлов конфигурации Terraform с помощью команды:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

    3. Создайте необходимую инфраструктуру:

      1. Выполните команду для просмотра планируемых изменений:

        terraform plan
        

        Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

      2. Если вас устраивают планируемые изменения, внесите их:

        1. Выполните команду:

          terraform apply
          
        2. Подтвердите изменение ресурсов.

        3. Дождитесь завершения операции.

      Трансфер активируется автоматически после создания.

Проверьте работоспособность трансфераПроверьте работоспособность трансфера

  1. Дождитесь перехода трансфера в статус Реплицируется.

  2. Отправьте в поток Data Streams новое сообщение:

    {
        "device_id":"rhibbh3y08qm********",
        "datetime":"2022-06-06 09:49:54",
        "latitude":55.71294467,
        "longitude":37.66542005,
        "altitude":429.13,
        "speed":55.5,
        "battery_voltage":null,
        "cabin_temperature":18,
        "fuel_level":32
    }
    
  3. Убедитесь, что в базу данных кластера Managed Service for ClickHouse® перенеслись данные из потока Data Streams:

    1. Подключитесь к кластеру-приемнику Managed Service for ClickHouse®.
    2. Проверьте, что в базе ClickHouse® существует таблица с именем созданного потока Data Streams с теми же колонками, что и схема данных в эндпоинте-источнике, и отправленными тестовыми данными.

Удалите созданные ресурсыУдалите созданные ресурсы

Примечание

Перед тем как удалить созданные ресурсы, деактивируйте трансфер.

Некоторые ресурсы платные. Чтобы за них не списывалась плата, удалите ресурсы, которые вы больше не будете использовать:

  1. Удалите трансфер.

  2. Удалите ресурсы в зависимости от способа их создания:

    Вручную
    Terraform
    • Удалите эндпоинт для приемника.
    • Удалите базу данных Managed Service for YDB.
    • Удалите кластер Managed Service for ClickHouse®.
    1. В терминале перейдите в директорию с планом инфраструктуры.

      Важно

      Убедитесь, что в директории нет Terraform-манифестов с ресурсами, которые вы хотите сохранить. Terraform удаляет все ресурсы, которые были созданы с помощью манифестов в текущей директории.

    2. Удалите ресурсы:

      1. Выполните команду:

        terraform destroy
        
      2. Подтвердите удаление ресурсов и дождитесь завершения операции.

      Все ресурсы, которые были описаны в Terraform-манифестах, будут удалены.

  3. Удалите эндпоинт для источника.

ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc.

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

Предыдущая
YDS в Apache Kafka®
Следующая
YDS в Object Storage
Проект Яндекса
© 2025 ООО «Яндекс.Облако»