Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Практические руководства
  • Веб-сервис
  • Интернет-магазины
  • Хранение и восстановление данных
  • Для разработчиков
  • Тестовая среда
  • Управление инфраструктурой
  • Построение Data Platform
    • Все руководства
    • Миграция БД из стороннего кластера Apache Kafka® в Managed Service for Apache Kafka®
    • Перенос данных между кластерами Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for YDB в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for Greenplum® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for Elasticsearch с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for MongoDB с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for MySQL с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for OpenSearch с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for PostgreSQL с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for YDB с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Data Streams с помощью Data Transfer
    • Настройка Kafka Connect для работы с кластером Managed Service for Apache Kafka®
    • Управление схемами данных в Managed Service for Apache Kafka®
    • Использование Managed Schema Registry с Managed Service for Apache Kafka®
    • Использование Confluent Schema Registry с Managed Service for Apache Kafka®
    • Поставка данных из Managed Service for MySQL в Managed Service for ClickHouse с помощью Data Transfer
    • Асинхронная репликация данных из PostgreSQL в ClickHouse
    • Обмен данными между Managed Service for ClickHouse и Data Proc
    • Настройка Managed Service for ClickHouse для Graphite
    • Получение данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse с помощью Data Transfer
    • Получение данных из RabbitMQ в Managed Service for ClickHouse
    • Сохранение потока данных Data Streams в Managed Service for ClickHouse
    • Асинхронная репликация данных из Яндекс Метрика в ClickHouse с помощью Data Transfer
    • Использование гибридного хранилища в Managed Service for ClickHouse
    • Шардирование таблиц Managed Service for ClickHouse
    • Настройка Cloud DNS для доступа к кластерам управляемых баз данных из других облачных сетей
    • Настройка Cloud DNS для доступа к кластеру Managed Service for ClickHouse из других облачных сетей
    • Обмен данными между Managed Service for ClickHouse и Data Proc
    • Импорт данных из Managed Service for MySQL в Data Proc с помощью Sqoop
    • Импорт данных из Managed Service for PostgreSQL в Data Proc с помощью Sqoop
    • Использование скриптов инициализации для настройки GeeseFS в Data Proc
    • Миграция данных из стороннего кластера Elasticsearch в Managed Service for Elasticsearch с помощью Reindex API
    • Миграция коллекций из стороннего кластера MongoDB в Managed Service for MongoDB
    • Миграция данных в Managed Service for MongoDB
    • Шардирование коллекций MongoDB
    • Анализ производительности и оптимизация MongoDB
    • Миграция БД из стороннего кластера MySQL в кластер Managed Service for MySQL
    • Анализ производительности и оптимизация Managed Service for MySQL
    • Синхронизация данных из стороннего кластера MySQL в Managed Service for MySQL с помощью Data Transfer
    • Миграция БД из Managed Service for MySQL в сторонний кластер MySQL
    • Миграция БД из Managed Service for MySQL в Object Storage с помощью Data Transfer
    • Импорт данных из Managed Service for MySQL в Data Proc с помощью Sqoop
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Debezium
    • Миграция БД из Managed Service for MySQL в Managed Service for YDB с помощью Data Transfer
    • Захват изменений MySQL и поставка в YDS
    • Миграция данных из Elasticsearch в Managed Service for OpenSearch
    • Создание кластера PostgreSQL для «1С:Предприятия»
    • Анализ производительности и оптимизация Managed Service for PostgreSQL
    • Миграция БД из Managed Service for PostgreSQL
    • Миграция БД из стороннего кластера PostgreSQL в Managed Service for PostgreSQL
    • Асинхронная репликация данных из PostgreSQL в ClickHouse
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Импорт данных из Managed Service for PostgreSQL в Data Proc с помощью Sqoop
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for YDB с помощью Data Transfer
    • Миграция БД из Managed Service for PostgreSQL в Object Storage
    • Захват изменений PostgreSQL и поставка в YDS
    • Миграция БД из Greenplum® в ClickHouse
    • Миграция БД из Greenplum® в PostgreSQL
    • Миграция БД из стороннего кластера Redis в Managed Service for Redis
    • Использование кластера Managed Service for Redis в качестве хранилища сессий PHP
  • Продукты Microsoft в Yandex Cloud
  • Сетевая инфраструктура
  • Визуализация и анализ данных
  • Интернет вещей
  • Бессерверные технологии
  1. Построение Data Platform
  2. Сохранение потока данных Data Streams в Managed Service for ClickHouse

Сохранение потока данных Yandex Data Streams в Yandex Managed Service for ClickHouse

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. Скачайте файл с настройками провайдера. Поместите его в отдельную рабочую директорию и укажите значения параметров.

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

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

    • база данных Managed Service for YDB;
    • сервисный аккаунт с ролью yds.editor;
    • сеть;
    • подсеть;
    • группа безопасности и правила, необходимые для подключения к кластеру Managed Service for ClickHouse из интернета;
    • кластер-приемник Managed Service for ClickHouse;
    • эндпоинт для приемника;
    • трансфер.
  4. Укажите в файле 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, чтобы не создавать трансфер до создания эндпоинта-источника вручную.
  5. Выполните команду terraform init в директории с конфигурационным файлом. Эта команда инициализирует провайдер, указанный в конфигурационных файлах, и позволяет работать с ресурсами и источниками данных провайдера.

  6. Проверьте корректность файлов конфигурации Terraform с помощью команды:

    terraform validate
    

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

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

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

      terraform plan
      

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

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

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

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

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

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

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

  1. Создайте поток данных Data Streams.
  2. Отправьте в поток тестовые данные. В качестве сообщения используйте данные от сенсоров автомобиля в формате JSON:
{
    "device_id":"iv9a94th6rztooxh5ur2",
    "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":"rhibbh3y08qmz3sdbrbu",
        "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. В терминале перейдите в директорию с планом инфраструктуры.

    2. Удалите конфигурационный файл data-transfer-yds-mch.tf.

    3. Проверьте корректность файлов конфигурации Terraform с помощью команды:

      terraform validate
      

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

    4. Подтвердите изменение ресурсов.

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

        terraform plan
        

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

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

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

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

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

      Все ресурсы, которые были описаны в конфигурационном файле data-transfer-yds-mch.tf, будут удалены.

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

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

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Перед началом работы
  • Подготовьте поток данных Data Streams
  • Подготовьте и активируйте трансфер
  • Проверьте работоспособность трансфера
  • Удалите созданные ресурсы