YTsaurus CLI
Существуют несколько способов установить CLI.
CLI состоит из нескольких частей. Основная часть написана на Python, совместима с Python 2&3, и является платформонезависимой.
Для использования YSON-формата представления данных можно установить так называемые YSON-bindings.
Они представляют собой отдельную библиотеку, доступную только под Linux и MacOS, написанную на C++.
Узнать версию установленной CLI можно, вызвав команды yt --version
, это самый простой способ проверить работоспособность CLI.
Внимание
Не рекомендуется устанавливать библиотеку и YSON-bindings разными способами одновременно.
Это может приводить к труднодиагностируемым проблемам.
Примечание
При возникновении сложностей изучите раздел FAQ.
Пакет называется ytsaurus-client
. Перед установкой пакета можно поставить пакет wheel
, чтобы иметь возможность поставить версию, отличную от системной, или поставить YTsaurus CLI без sudo.
По умолчанию из PyPI устанавливается последняя стабильная версия пакета.
Все тестовые версии имеют суффикс "a1" и могут быть установлены через pip путем добавления опции --pre
.
Команда для установки из pypi:
# Установка YTsaurus CLI
pip install ytsaurus-client
# Установка YSON-bindings
pip install ytsaurus-yson
Автодополнение
В комплекте с Deb-пакетом также поставляется скрипт для bash autocompletion, который при установке автоматически добавляется в /etc/bash_completion.d/
.
В случае pip-пакета включить autocompletion можно с помощью утилиты register-python-argcomplete
, которая поставляется вместе с пакетом argcomplete.
register-python-argcomplete yt | sudo tee /etc/bash_completion.d/yt >/dev/null
Проверить работоспособность автодополнения можно набрав в консоли:
yt <TAB><TAB>
abort-job
abort-op
abort-tx
add-member
alter-table
alter-table-replica
check-permission
...
Главным преимуществом этой функции является возможность дополнять пути в Кипарисе. Для работы этой функции необходимо, чтобы в переменных окружения был указан кластер, с которым вы работаете, например, посредством команды export YT_PROXY=<cluster_name>
. Пример:
export YT_PROXY=<cluster-name>
yt list /<TAB>/<TAB><TAB>
//@ //home/ //porto_layers/ //statbox/ //test_q_roc_auc //trash //userfeat/ //userstats/
//cooked_logs/ //logs //projects/ //sys //tmp/ //userdata/ //user_sessions/
Если вместо названий команд или путей Кипариса вы видите что-то иное (либо ничего, либо пути в текущей директории), значит autocompletion не включился. Проверьте выполнение следующих условий:
- Должен быть установлен основной пакет bash_completion. Под Ubuntu-подобными системами этого можно достичь посредством запуска команды
sudo apt-get install bash-completion
; - bash-completion должен инициироваться при запуске bash-сессии. Например, в Ubuntu по умолчанию в .bashrc есть строка
. /etc/bash_completion
, если у вас такой не видно, то стоит ее прописать себе в .bashrc; - В /etc/bash_completion.d должен попасть файл
yt_completion
, настраивающий автодополнение для команды yt. Если под вашей системой всё содержимое /etc/bash_completion.d по каким-то причинам не запускается автоматически, можно самостоятельно запустить этот скрипт в конце вашего .bashrc;