Работа из командной строки
В данном разделе собрана информация о командной строке YTsaurus: описание, способы установки, примеры использования.
Описание
YTsaurus CLI (Command Line Interface) — самый удобный способ взаимодействия с системой YTsaurus из консоли. CLI полностью реализует функциональность всех команд, поддерживаемых YTsaurus. Имя команды задается первым аргументом, далее идут её опции. Для получения справки по CLI достаточно выполнить команду:
yt --help
yt read --help
Для работы с кластером необходимо получить токен доступа и положить его в файл ~/.yt/token
или в переменную окружения YT_TOKEN
.
Более подробно о токенах и аутентификации в разделе Аутентификация.
Кроме токена доступа необходимо указать кластер, с которым будет происходить работа. Для этого можно указать имя прокси сервера в переменной окружения YT_PROXY
: export YT_PROXY=<cluster-name>
или передавать имя прокси сервера в каждую команду по отдельности через опцию proxy
, например: --proxy <cluster-name>
.
Ниже перечислены некоторые особенности CLI:
-
Все подчеркивания в названиях команд и опций заменены на дефис;
-
input_table_paths
иoutput_table_paths
задаются через опции--src
и--dst
; -
Для указания нескольких колонок для сортировки или reduce следует передать опцию
sort-by
илиreduce-by
несколько раз, например--sort-by a --sort-by b
выполнит сортировку по составному ключуa b
;Внимание
При написании
--sort-by a,b
произойдет сортировка по одной колонке с именемa,b
. -
Команда
write
записывает данные почанково и под транзакцией; -
Существует команда
find
(реализованная поверх get), которая отчасти повторяет unix-утилиту find; -
Команда
list
по умолчанию (без указания параметра--format
) печатает просто список элементов узла, каждый на отдельной строке. Также у неё есть опция-l
, которая будет вместе с именами печатать полезную информацию об узлах; -
Любые файлы, загружаемые в систему YTsaurus, по умолчанию загружаются без флага executable. Если вы хотите загрузить бинарный файл, который будет запускаться в джобе, то при загрузке нужно указать опцию
--executable
, или можно после загрузки проставить атрибут у файла/@executable=true
; -
Форматы данных, принимаемых на входе команд и возникающих на выходе, могут быть заданы через следующие переменные окружения:
YT_ARGUMENTS_FORMAT
— управляет форматом для значений опций типа--spec
,--attributes
. По умолчаниюyson
;YT_STRUCTURED_DATA_FORMAT
— управляет форматом команд get/set. По умолчаниюyson
;YT_TABULAR_DATA_FORMAT
— управляет форматом чтения/записи таблиц, а также запуска джобов операций. Значения по умолчанию нет, значение переменной нужно выставить явно, либо указать опцию--format
);
-
Есть способ создавать алиасы для команд. Алиасы указываются в файле
~/.yt/aliases
в форматеname=opts
. Пример:mkdir=create map_node ls=list rm=remove mv=move cp=copy
-
Поддерживается auto-completion команд бинарного файла и путей для bash.