DataSphere CLI
Для запуска заданий DataSphere Jobs используется утилита DataSphere CLI.
Чтобы установить DataSphere CLI, в виртуальном окружении Python
pip install datasphere
После завершения установки вы можете посмотреть справку, запустив команду с флагом -h
:
datasphere -h
Результат выполнения команды:
usage: datasphere [-h] [-t TOKEN] [-l {ERROR,WARNING,INFO,DEBUG}] [--log-config LOG_CONFIG] [--log-dir LOG_DIR] [--profile PROFILE] {version,changelog,project,generate-requirements} ...
positional arguments:
{version,changelog,project,generate-requirements}
version Show version
changelog Show changelog
generate-requirements
Generate requirements for specified root module(s)
options:
-h, --help show this help message and exit
-t TOKEN, --token TOKEN
YC OAuth token, see https://yandex.cloud/en/docs/iam/concepts/authorization/oauth-token
-l {ERROR,WARNING,INFO,DEBUG}, --log-level {ERROR,WARNING,INFO,DEBUG}
Logging level
--log-config LOG_CONFIG
Custom logging config
--log-dir LOG_DIR Logs directory (temporary directory by default)
--profile PROFILE `yc` utility profile
Команды DataSphere CLI
Для управления заданиями и утилитой воспользуйтесь командами:
- запуск и восстановление сессии задания;
- просмотр информации о заданиях;
- отмена задания;
- установка времени жизни данных задания;
- генерация параметров окружения задания;
- получение списка проектов сообщества;
- получение информации о проекте;
- просмотр версии DataSphere CLI;
- просмотр журнала изменений DataSphere CLI.
Запуск заданий
Чтобы запустить задание, выполните команду:
datasphere project job execute -p <идентификатор_проекта> -c <файл_конфигурации>
Где:
<идентификатор_проекта>
— идентификатор проекта DataSphere, в котором вы будете запускать задание.<файл_конфигурации>
— путь к файлу конфигурации задания.
Чтобы запускать задания с помощью сервисного аккаунта, аутентифицируйтесь от его имени в Yandex Cloud CLI и добавьте его в список участников проекта DataSphere с ролью datasphere.community-projects.developer
. Если вы запускаете задание с ВМ Yandex Compute Cloud, привяжите к ней этот сервисный аккаунт.
Запуск задания блокирует сессию командной оболочки до завершения задания. Логи работы кода задания будут выведены в стандартные потоки вывода stdout
и ошибок stderr
. Системные логи выполнения задания будут записаны в отдельный файл в рабочей директории пользователя.
Если в процессе выполнения задания сессия командной оболочки прервалась, задание продолжит выполняться в DataSphere, однако логи выполнения не будут сохраняться. Чтобы возобновить запись логов, восстановите сессию, выполнив команду:
datasphere project job attach --id <идентификатор_задания>
Узнать идентификатор задания можно в интерфейсе DataSphere во вкладке DataSphere Jobs на странице проекта.
Отслеживание и запись логов возобновятся после восстановления сессии задания.
Чтобы повторно запустить задание, выполните команду:
datasphere project job fork
Просмотр информации о задании
Вы можете посмотреть все прошедшие и текущие задания проекта, выполнив команду:
datasphere project job list -p <идентификатор_проекта>
В ответ вернется таблица со следующими полями:
- идентификатор задания;
- имя;
- описание;
- статус;
- дата начала выполнения и окончания задания (если оно уже завершилось);
- имя пользователя, запустившего задание.
Чтобы посмотреть информацию о конкретном задании, выполните команду:
datasphere project job get --id <идентификатор_задания>
Отмена задания
Вы можете остановить и отменить выполнение задания двумя способами:
-
Если у вас запущена сессия командной оболочки с заданием в процессе выполнения, нажмите Ctrl + C.
-
Если вы хотите остановить выполнение задания, не связанного с активной сессией командной оболочки, выполните команду:
datasphere project job cancel --id <идентификатор_задания>
Запущенное задание будет остановлено.
Установка времени жизни данных задания
Вы можете установить время жизни данных задания, выполнив команду:
datasphere project job set-data-ttl --id <идентификатор_задания> --days <количество_дней>
Где --days
— количество дней, по прошествии которых данные задания будут удалены (по умолчанию — 14 дней).
Генерация параметров окружения задания
Чтобы сгенерировать параметры окружения вашего задания, выполните команду:
datasphere generate-requirements <корневой_модуль>
Где <корневой_модуль>
— корневой модуль задания.
В ответ вернется файл requirements.txt
со списком параметров окружения для указанного модуля. Его можно использовать в файле конфигурации задания для явного указания зависимостей.
Получение списка проектов сообщества
Вы можете посмотреть все проекты сообщества, выполнив команду:
datasphere project list -c <идентификатор_сообщества>
В ответ вернется таблица со следующими полями:
- идентификатор проекта;
- название проекта;
- идентификатор сообщества.
Получение информации о проекте
Чтобы посмотреть информацию о конкретном проекте, выполните команду:
datasphere project get --id <идентификатор_проекта>
В ответ вернется таблица со следующими полями:
- идентификатор проекта;
- название проекта;
- идентификатор сообщества.
Просмотр версии DataSphere CLI
Чтобы посмотреть текущую версию DataSphere CLI, выполните команду:
datasphere version
Примечание
При каждом использовании DataSphere CLI проверяется актуальность текущей версии. Если будет обнаружена новая версия, утилита выведет соответствующее сообщение. Чтобы избежать проблем с совместимостью, обновляйте DataSphere CLI по мере появления новых версий.
Посмотреть журнал изменений DataSphere CLI
Чтобы посмотреть изменения в актуальной версии DataSphere CLI, выполните команду:
datasphere changelog
Логи заданий
При запуске задания через DataSphere CLI командная оболочка первым сообщением уведомляет пользователя о сохранении логов в рабочей директории пользователя. Например:
2024-05-16 12:42:35,447 - [INFO] - logs file path: C:\Temp\datasphere\job_2024-05-16T12-42-35.427056
После выполнения задания в рабочей директории пользователя можно найти следующие файлы:
stdout.txt
— стандартный поток вывода пользовательской программы.stderr.txt
— стандартный поток сообщений об ошибках.system.log
— системный лог настройки ВМ и установки пакетов окружения.log.txt
— общий лог утилиты DataSphere CLI, в который записывается ход выполнения задания.docker_stats.tsv
— лог о потребляемых Docker-образом ресурсах, таких как задействованная мощность процессора, скорости чтения и записи, используемый объем оперативной памяти и скорость загрузки. Эту информацию также можно получить с помощью командыdocker stats
.gpu_stats.tsv
— лог об использовании графического процессора: количество ядер, задействованная мощность и видеопамять.
Чтобы изменить директорию для хранения логов, воспользуйтесь командой:
datasphere --log-dir <новая_директория>
Вы можете загрузить результаты задания, выполнив команду:
datasphere project job download-files --id <идентификатор_задания>