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

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

  • Необходимые платные ресурсы
  • Перед началом работы
  • Подготовьте тестовые данные
  • Подготовьте и активируйте трансфер
  • Проверьте работоспособность трансфера
  • Проверьте работу копирования
  • Проверьте работу репликации
  • Удалите созданные ресурсы
  1. Практические руководства
  2. Загрузка данных в витрины
  3. Object Storage в YDB

Загрузка данных из Object Storage в витрину YDB

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

Вы можете перенести данные из Object Storage в таблицу Managed Service for YDB с помощью сервиса Data Transfer. Для этого:

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

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

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

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

  • Плата за бакет Object Storage: хранение данных и выполнение операций с ними (см. тарифы Object Storage).

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

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

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

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

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

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

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

  2. Если вы выбрали режим БД Dedicated, создайте и настройте группу безопасности в сети, где находится БД.

  3. Создайте бакет Object Storage.

  4. Создайте сервисный аккаунт с именем s3-ydb-account и ролями storage.editor и ydb.editor. Трансфер будет использовать его для доступа к бакету и базе данных.

  5. Создайте статический ключ доступа для сервисного аккаунта s3-ydb-account.

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

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

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

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

  5. Скачайте в ту же рабочую директорию файл конфигурации object-storage-to-ydb.tf.

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

    • сервисный аккаунт, который будет использоваться для работы с бакетом и базой данных Managed Service for YDB;
    • секрет Yandex Lockbox, в котором будет храниться статический ключ сервисного аккаунта для настройки эндпоинта-источника;
    • бакет-источник Object Storage;
    • кластер-приемник Managed Service for YDB;
    • эндпоинт для приемника;
    • трансфер.
  6. Укажите в файле object-storage-to-ydb.tf значения переменных:

    • folder_id — идентификатор облачного каталога, такой же, как в настройках провайдера.
    • bucket_name — имя бакета в соответствии с правилами именования.
  7. Проверьте корректность файлов конфигурации Terraform с помощью команды:

    terraform validate
    

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

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

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

      terraform plan
      

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

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

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

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

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

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

Подготовьте тестовые данныеПодготовьте тестовые данные

  1. Подготовьте два CSV-файла с тестовыми данными:

    • demo_data1.csv:

      1,Anna
      2,Robert
      3,Umar
      4,Algul
      5,Viktor
      
    • demo_data2.csv:

      6,Maria
      7,Alex
      
  2. Загрузите файл demo_data1.csv в бакет Object Storage.

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

  1. Создайте эндпоинт-источник типа Object Storage со следующими настройками:

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

    • Бакет — имя бакета в Object Storage.

    • Идентификатор ключа доступа AWS — открытая часть статического ключа сервисного аккаунта. Если вы создали инфраструктуру с помощью Terraform, скопируйте значение ключа из секрета Yandex Lockbox.

    • Секретный ключ доступа AWS — закрытая часть статического ключа сервисного аккаунта. Если вы создали инфраструктуру с помощью Terraform, скопируйте значение ключа из секрета Yandex Lockbox.

    • Эндпоинт — https://storage.yandexcloud.net.

    • Регион — ru-central1.

    • Формат данных — CSV.

    • Разделитель — знак запятой ,.

    • Таблица — table1.

    • Схема результирующей таблицы — выберите Вручную и укажите имена полей и тип данных:

      • Id: Int64;
      • Name: UTF8.

    Остальные параметры оставьте по умолчанию.

  2. Создайте эндпоинт-приемник и трансфер:

    Вручную
    С помощью Terraform
    1. Создайте эндпоинт-приемник типа YDB и укажите в нем параметры подключения к кластеру:

      • База данных — выберите базу данных YDB из списка.
      • Идентификатор сервисного аккаунта — выберите сервисный аккаунт s3-ydb-account.
    2. Создайте трансфер типа Копирование и репликация, использующий созданные эндпоинты.

    3. Активируйте трансфер и дождитесь его перехода в статус Реплицируется.

    1. Укажите в файле object-storage-to-ydb.tf значения параметров:

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

      terraform validate
      

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

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

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

        terraform plan
        

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

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

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

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

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

    4. Трансфер активируется автоматически. Дождитесь его перехода в статус Реплицируется.

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

Чтобы убедиться в работоспособности трансфера, проверьте работу копирования и репликации.

Проверьте работу копированияПроверьте работу копирования

Консоль управления
CLI
  1. В консоли управления выберите каталог, в котором находится нужная база данных.
  2. В списке сервисов выберите Managed Service for YDB.
  3. Выберите базу из списка.
  4. Перейдите на вкладку Навигация.
  5. Проверьте, что база данных Managed Service for YDB содержит таблицу table1 с тестовыми данными.
  1. Подключитесь к базе данных Managed Service for YDB.

  2. Выполните запрос:

    SELECT * FROM table1;
    
    Пример ответа
    Id |   Name   |   __file_name    | __row_index 
    ---+----------+------------------+-------------
     1 | "Anna"   | "demo_data1.csv" | 1 
     2 | "Robert" | "demo_data1.csv" | 2 
     3 | "Umar"   | "demo_data1.csv" | 3 
     4 | "Algul"  | "demo_data1.csv" | 4 
     5 | "Viktor" | "demo_data1.csv" | 5 
    

Проверьте работу репликацииПроверьте работу репликации

  1. Загрузите файл demo_data2.csv в бакет Object Storage.

  2. Убедитесь, что данные из файла demo_data2.csv появились в базе данных приемника:

    Консоль управления
    CLI
    1. В консоли управления выберите каталог, в котором находится нужная база данных.
    2. В списке сервисов выберите Managed Service for YDB.
    3. Выберите базу из списка.
    4. Перейдите на вкладку Навигация.
    5. Проверьте, что в таблицу table1 добавились новые данные.
    1. Подключитесь к базе данных Managed Service for YDB.

    2. Выполните запрос:

          SELECT * FROM table1;
      
      Пример ответа
      Id |   Name   |   __file_name    | __row_index 
      ---+----------+------------------+-------------
       1 | "Anna"   | "demo_data1.csv" | 1 
       2 | "Robert" | "demo_data1.csv" | 2 
       3 | "Umar"   | "demo_data1.csv" | 3 
       4 | "Algul"  | "demo_data1.csv" | 4 
       5 | "Viktor" | "demo_data1.csv" | 5 
       6 | "Maria"  | "demo_data2.csv" | 1 
       7 | "Alex"   | "demo_data2.csv" | 2 
      

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

Примечание

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

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

  • Трансфер.

  • Эндпоинт-источник.

  • Объекты из бакета.

  • Остальные ресурсы удалите в зависимости от способа их создания:

    Вручную
    С помощью Terraform
    • Эндпоинт-приемник.
    • Базу данных Managed Service for YDB.
    • Бакет Object Storage.
    1. В терминале перейдите в директорию с планом инфраструктуры.

      Важно

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

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

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

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

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

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

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