Работа с данными

Зачем нужен Data Catalog?

Data Catalog содержит объектное хранилище S3 и Файловый менеджер (вкладка Обзор хранилища) на базе объектного хранилища для совместной работы с данными. Кроме того, в него входит Data transfer service, который отвечает за обмен данных между системными хранилищами платформы (S3 и NFS) и перенос данных с заданной периодичностью из внешних источников (файловых систем на базе S3 и баз данных).

Как я могу загрузить данные в хранилище Data Catalog с моего компьютера?

Данные можно загрузить через интерфейс Файлового менеджера (вкладка Обзор хранилища), см. Обзор хранилища (Файловый менеджер). Другой вариант — использовать сторонние клиентские приложения с графическим интерфейсом, например, Cyberduck или S3 Browser.

Как я могу загрузить данные в хранилище Data Catalog из внешних источников?

Посредством Data transfer service вы можете подключить коннектор к популярным базам данных (PostgreSQL, MySQL, MS SQL, Oracle DB) и файловым системам на базе S3 (Amazon S3, Google Сloud Storage). Затем настроить правила и периодичность переноса из этих источников для любых типов файлов, самого разного объема: от мегабайтов до петабайтов. Прогресс и результат переноса можно посмотреть на вкладке История переносов в Data transfer service.

Можно ли работать с хранилищем S3 через VPN?

При использовании VPN хранилище S3 может работать нестабильно. Возможны проблемы со скачиванием и загрузкой файлов.

Как перенести данные на S3, используя Cyberduck?

Выполните следующие действия:

  1. В окне программы Cyberduck выберите Новое подключение.

  2. В выпадающем списке выберите Amazon S3.

  3. В поле Cервер введите Endpoint. Обратите внимание, что Endpoint вводится без https://.

  4. В поле Access Key ID введите S3 access key ID.

  5. В поле Secret Access Key введите S3 security key.

  6. В поле Path введите имя бакета S3.

Подробнее про получение параметров S3 access key ID, S3 security key, S3 имя бакета.

Для загрузки файлов с доступом на чтение для всех пользователей необходимо в окне программы Cyberduck:

  1. Перейти в настройки.

  2. Открыть раздел S3.

  3. В разделе Default ACL выбрать authenticated-read.

Как владелец загруженных на S3 данных может настроить права на скачивание другими пользователями?

Изменить права для данных может только пользователь, который их загрузил. Чтобы выдать права на скачивание данных, загруженных другим пользователем на S3, нужно выполнить команду:

aws --endpoint-url=<endpoint> s3 cp --recursive --acl authenticated-read s3://<bucket>/<folder>/ s3://<bucket>/<folder>/ --metadata-directive REPLACE

Что делать, если при скачивании из S3 возникает ошибка «access denied»?

Использовать Data transfer service для корректного переноса файлов.

При переносе через client_lib или сторонние инструменты файлы будут доступны для скачивания только пользователю, который выполнил перенос.

Чтобы файлы оставались доступными при использовании сторонних инструментов (Cyberduck и S3 Browser), необходимо указывать заголовок:

x-amz-acl: authenticated-read

Какие форматы данных я могу хранить в хранилище Data Catalog?

Вы можете загружать и хранить данные в любом формате.

Как использовать данные из хранилища Data Catalog для обучения?

Для обучения моделей пользовательские данные с S3 необходимо перенести в горячее хранилище NFS ML Space.

Это можно сделать через интерфейс объектного хранилища S3 (вкладка Обзор хранилища). Необходимо выбрать объекты чекбоксами и нажать Отправить на NFS, затем выбрать целевое хранилище и нажать Подтвердить.

Другой вариант — создать Правило переноса в Data transfer service. Прогресс и результат переноса доступны в Истории переносов в Data transfer service. Данные на NFS можно просмотреть через интерфейс Jupyter Notebook/JupyterLab в модуле Environments.

Кроме того, перенос между S3 и NFS возможен через командную строку (Terminal) Jupyter Notebook. Для этого необходимо запустить из командной строки команду s3-save-credentials, которая передает параметры доступа к бакету S3, и команду s3-copy, которая вызывает задачу копирования данных с S3 на NFS и обратно.

Какой тип дисков на NFS-сервере?

На NFS-сервере установлены SSD-диски. Подробнее смотрите в Параметры оборудования.

Какие хранилища используются в регионах размещения вычислительных ресурсов при работе с платформой?

Хранилище S3 едино для всех регионов.

При работе с платформой ML Space для каждого региона размещения вычислительных ресурсов используется независимое хранилище NFS. Например:

  • При создании Jupyter Server в регионе Christofari.V100 используется хранилище NFS, которое относится к региону Christofari.V100.

  • При создании Jupyter Server в регионе Christofari.A100 используется хранилище NFS, которое относится к региону Christofari.A100.

Как перенести данные с NFS одного региона на NFS другого региона?

Для переноса данных между регионами воспользуйтесь Data transfer service.

Какие сторонние инструменты можно использовать для работы с S3 ML Space?

Для работы с файловым менеджером можно использовать:

Графические клиенты
  • S3 Browser

  • CyberDuck

  • WinSCP

  • BucketAnywhere

  • Консольные приложения

AWS CLI
  • S3cmd

  • SDK

AWS SDK для Java
  • AWS SDK для JavaScript

  • AWS SDK для .NET

  • AWS SDK для PHP

  • SDK для Python (boto)

FUSE
  • s3fs

  • goofys

Подробнее про эти инструменты можно посмотреть в документации объектного хранилища S3.

Есть ли лимит на количество файлов в неймспейсе для NFS?

С 11.09.2023 установлен лимит на количество файлов в неймспейсе для всех пользователей во избежание блокировки NFS.

Посмотреть свой текущий лимит возможно с помощью команды ! df -i в ячейке Jupyter Server. Подробнее о работе с терминалом Jupyter Server см. Работать из терминала Jupyter/JupyterLab.

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