YTsaurus CLI
CLI состоит из нескольких частей. Основная часть написана на Python и является платформонезависимой.
Для использования YSON-формата представления данных нужно установить так называемые YSON-bindings. Они представляют собой отдельную библиотеку, доступную только под Linux и Mac OS. Данная библиотека содержит внутри себя бинарный модуль, написанный на C++.
Узнать версию установленной CLI можно, вызвав команду $ yt --version
, это самый простой способ проверить работоспособность CLI.
Примечание
При возникновении сложностей изучите раздел FAQ.
Установка из PyPI-репозитория
Пакет называется ytsaurus-client
. Перед установкой пакета можно поставить пакет wheel
, чтобы иметь возможность поставить версию, отличную от системной, или YTsaurus CLI без sudo.
По умолчанию из PyPI устанавливается последняя стабильная версия пакета.
Все тестовые версии имеют суффикс a1
и могут быть установлены через pip путем добавления опции --pre
.
Команда для установки из pypi:
# Установка YTsaurus CLI
$ pip install ytsaurus-client
# Установка YSON-bindings
$ pip install ytsaurus-yson
Автодополнение
В случае 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.