Интерфейс командной строки Databricks (устаревшая версия)
Внимание
Поддержка этой документации прекращена, она может больше не обновляться.
Databricks рекомендует использовать Интерфейс командной строки Databricks версии 0.205 или более поздней, а не устаревший интерфейс командной строки Databricks версии 0.18 или ниже. Интерфейс командной строки Databricks версии 0.18 или ниже не поддерживается Databricks. Сведения о databricks CLI версии 0.205 и более поздних версиях см. в разделе "Что такое интерфейс командной строки Databricks?".
Сведения о миграции из Databricks CLI версии 0.18 или ниже в Databricks CLI версии 0.205 или более поздней, см. в статье Databricks CLI.
Устаревший интерфейс командной строки Databricks находится в экспериментальном состоянии. Databricks не планирует новую функцию для устаревшей интерфейса командной строки Databricks в настоящее время.
Устаревший интерфейс командной строки Databricks не поддерживается через каналы поддержки Databricks. Чтобы предоставить отзывы, задать вопросы и сообщить о проблемах, используйте вкладку "Проблемы " в репозитории Command Line для Databricks в GitHub.
Устаревший интерфейс командной строки Databricks (также известный как устаревший интерфейс командной строки Databricks) — это программа, которая предоставляет простой интерфейс для автоматизации платформы Azure Databricks из терминала, командной строки или скриптов автоматизации.
Требования
- Python 3 — 3.6 и более поздних версий
- Python 2 — 2.7.9 и более поздних версий
Внимание
В macOS установка Python 2 по умолчанию не реализует протокол TLSv1_2, а при установке Python используется устаревший интерфейс командной строки Databricks с этой установкой Python: AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'
Для установки версии Python с используйте ssl.PROTOCOL_TLSv1_2
.
Ограничения
Использование устаревшей интерфейса командной строки Databricks с контейнерами хранилища с поддержкой брандмауэра не поддерживается. Для Databricks рекомендуется использовать Databricks Connect или az storage.
настройка интерфейса командной строки
В этом разделе описывается настройка устаревшего интерфейса командной строки Databricks.
Установка или обновление интерфейса командной строки
В этом разделе описывается установка или обновление компьютера разработки для запуска устаревшей интерфейса командной строки Databricks.
Установка CLI
Запустите pip install databricks-cli
с помощью соответствующей версии pip
для установки Python:
pip install databricks-cli
Обновление интерфейса командной строки
Запустите pip install databricks-cli --upgrade
с помощью соответствующей версии pip
для установки Python:
pip install databricks-cli --upgrade
Чтобы получить список версий устаревшей среды командной строки Databricks, установленной в настоящее время, выполните databricks --version
:
databricks --version
Настройка проверки подлинности
Прежде чем выполнять устаревшие команды CLI Databricks, необходимо настроить проверку подлинности между устаревшим интерфейсом командной строки Databricks и Azure Databricks. В этом разделе описывается настройка проверки подлинности для устаревшего интерфейса командной строки Databricks.
Для проверки подлинности с помощью устаревшего интерфейса командной строки Databricks можно использовать личный маркер доступа Databricks или маркер Microsoft Entra ID (прежнее название — Azure Active Directory).
Примечание.
В качестве рекомендации по обеспечению безопасности при проверке подлинности с помощью автоматизированных средств, систем, сценариев и приложений Databricks рекомендуется использовать личные маркеры доступа, принадлежащие субъектам-службам, а не пользователям рабочей области. Сведения о создании маркеров для субъектов-служб см. в разделе "Управление маркерами" для субъекта-службы.
Настройте проверку подлинности с помощью токена Microsoft Entra ID
Чтобы настроить старую версию интерфейса командной строки Databricks с помощью токена Microsoft Entra ID, создайте токен Microsoft Entra ID (прежнее название — Azure Active Directory) и сохраните его в переменной среды DATABRICKS_AAD_TOKEN
.
Выполните следующую команду:
databricks configure --aad-token
Команда выдаст следующий запрос:
Databricks Host (should begin with https://):
Введите URL-адрес рабочей области в формате https://adb-<workspace-id>.<random-number>.azuredatabricks.net
. Чтобы получить URL-адрес по рабочей области, см. URL-адрес по рабочей области.
После выполнения запроса учетные данные доступа хранятся в файле ~/.databrickscfg
в Linux или macOS или %USERPROFILE%\.databrickscfg
в Windows. Файл содержит запись профиля по умолчанию:
[DEFAULT]
host = <workspace-URL>
token = <Azure-AD-token>
.databrickscfg
Если файл уже существует, профиль конфигурации этого файла DEFAULT
перезаписывается новыми данными. Чтобы создать профиль конфигурации с другим именем, см. статью "Профили подключений".
Настройка аутентификации с помощью персонального токена доступа Databricks
Чтобы настроить устаревший интерфейс командной строки Databricks для использования личного маркера доступа, выполните следующую команду:
databricks configure --token
Команда начинается с выдачи запроса:
Databricks Host (should begin with https://):
Введите URL-адрес рабочей области в формате https://adb-<workspace-id>.<random-number>.azuredatabricks.net
. Чтобы получить URL-адрес рабочей области, см. URL-адрес для каждой рабочей области.
Команда продолжит работу, выполнив запрос на ввод личного маркера доступа:
Token:
После выполнения запроса учетные данные доступа хранятся в файле ~/.databrickscfg
в Linux или macOS или %USERPROFILE%\.databrickscfg
в Windows. Файл содержит запись профиля по умолчанию:
[DEFAULT]
host = <workspace-URL>
token = <personal-access-token>
.databrickscfg
Если файл уже существует, профиль конфигурации этого файла DEFAULT
перезаписывается новыми данными. Чтобы создать профиль конфигурации с другим именем, см. статью "Профили подключений".
Для CLI 0.8.1 и более поздних версий можно изменить путь к этому файлу, задав переменную среды DATABRICKS_CONFIG_FILE
.
Linux и macOS
export DATABRICKS_CONFIG_FILE=<path-to-file>
Windows
setx DATABRICKS_CONFIG_FILE "<path-to-file>" /M
Внимание
Начиная с CLI 0.17.2, CLI не работает с файлом .netrc. Файл .netrc
может присутствовать в среде для других целей, но CLI не будет использовать этот файл .netrc
.
CLI 0.8.0 и выше поддерживает следующие переменные среды Azure Databricks:
DATABRICKS_HOST
DATABRICKS_TOKEN
Параметр переменной среды имеет приоритет над параметром в файле конфигурации.
Проверка настройки аутентификации
Чтобы проверить правильность настройки проверки подлинности, можно выполнить следующую команду:
databricks fs ls dbfs:/
В случае успешного выполнения эта команда выводит файлы и каталоги в корне СУБД рабочей области, связанной с DEFAULT
вашим профилем.
Профили подключений
Устаревшая конфигурация интерфейса командной строки Databricks поддерживает несколько профилей подключений. Ту же установку устаревшей интерфейса командной строки Databricks можно использовать для вызова API в нескольких рабочих областях Azure Databricks.
Чтобы добавить профиль подключения, укажите уникальное имя профиля:
databricks configure [--token | --aad-token] --profile <profile-name>
Файл .databrickscfg
содержит соответствующую запись профиля:
[<profile-name>]
host = <workspace-URL>
token = <token>
Чтобы использовать профиль подключения:
databricks <group> <command> --profile <profile-name>
Если аргумент --profile <profile-name>
не указан, используется профиль по умолчанию. Если профиль по умолчанию не найден, вам будет предложено настроить CLI с использованием профиля по умолчанию.
Повторная проверка профилей подключений
Чтобы проверить правильность настройки профилей подключений, можно выполнить следующую команду с одним из имен профилей подключения:
databricks fs ls dbfs:/ --profile <profile-name>
В случае успешного выполнения эта команда выводит файлы и каталоги в корне СУБД рабочей области для указанного профиля подключения. Выполните эту команду для каждого профиля подключения, который требуется проверить.
Чтобы просмотреть доступные профили, просмотрите .databrickscfg
файл.
Использование CLI
В этом разделе показано, как получить справку устаревшей версии Databricks CLI, проанализировать выходные данные устаревшей версии Интерфейса командной строки Databricks и выполнить команды в каждой группе команд.
Отображение справки по группе команд CLI
Вы перечисляете подкоманды для любой группы команд, используя опцию --help
или -h
. Например, для перечисления подкоманд интерфейса командной строки DBFS:
databricks fs -h
Отображение справки по подкомандам CLI
Вы перечисляете справку для подкоманды с помощью параметра --help
или -h
. Например, чтобы вывести справку для субкоманды копирования файлов DBFS.
databricks fs cp -h
Группы команд Псевдонима
Иногда это может быть неудобно для префикса каждого устаревшего вызова Интерфейса командной строки Databricks с именем группы команд, например databricks workspace ls
в устаревшем интерфейсе командной строки Databricks. Чтобы упростить использование устаревшего интерфейса командной строки Databricks, можно псевдонимировать группы команд для более коротких команд.
Например, чтобы сократить databricks workspace ls
до dw ls
в Bash, можно добавить alias dw="databricks workspace"
в соответствующий профиль Bash. Как правило, этот файл находится здесь: ~/.bash_profile
.
Совет
Устаревший интерфейс командной строки Databricks уже используется для псевдонимов databricks fs
dbfs
; databricks fs ls
и dbfs ls
эквивалентен.
Использование jq
для анализа выходных данных CLI
Некоторые устаревшие команды Cli Databricks выводит ответ JSON из конечной точки API. Иногда бывает полезно проанализировать части JSON, чтобы передать их в другие команды. Например, чтобы скопировать определение задания, необходимо взять поле settings
команды get job и использовать это в качестве аргумента для команды создания задания. В этих случаях рекомендуется использовать служебную программу jq
.
Например, следующая команда выводит параметры задания с идентификатором 233.
databricks jobs list --output JSON | jq '.jobs[] | select(.job_id == 233) | .settings'
Выходные данные:
{
"name": "Quickstart",
"new_cluster": {
"spark_version": "7.5.x-scala2.12",
"spark_env_vars": {
"PYSPARK_PYTHON": "/databricks/python3/bin/python3"
},
"num_workers": 8,
...
},
"email_notifications": {},
"timeout_seconds": 0,
"notebook_task": {
"notebook_path": "/Quickstart"
},
"max_concurrent_runs": 1
}
В другом примере следующая команда выводит только имена и идентификаторы всех доступных кластеров в рабочей области:
databricks clusters list --output JSON | jq '[ .clusters[] | { name: .cluster_name, id: .cluster_id } ]'
Выходные данные:
[
{
"name": "My Cluster 1",
"id": "1234-567890-grip123"
},
{
"name": "My Cluster 2",
"id": "2345-678901-patch234"
}
]
Например, в macOS можно установить jq
с помощью Homebrew или brew install jq
Windows с помощью Chocolatey choco install jq
. См. сведения об jq
в руководстве по jq.
Параметры строки JSON
Строковые параметры обрабатываются по-разному в зависимости от операционной системы:
Linux и macOS
Необходимо заключить параметры строки JSON в одинарные кавычки. Например:
'["20180505", "alantest"]'
Windows
Необходимо заключить параметры строки JSON в двойные кавычки, а символы кавычек внутри строки должны предшествовать \
. Например:
"[\"20180505\", \"alantest\"]"
Устранение неполадок
В следующих разделах приведены советы по устранению распространенных проблем с устаревшим интерфейсом командной строки Databricks.
Использование EOF с databricks configure
не работает
Для Databricks CLI версии 0.12.0 и более поздних использование последовательности конца файла (EOF
) в скрипте для передачи параметров команде databricks configure
не работает. Например, следующий сценарий приводит к тому, что интерфейс командной строки Databricks игнорирует параметры, и сообщение об ошибке не возникает:
# Do not do this.
databricksUrl=<per-workspace-url>
databricksToken=<personal-access-token-or-Azure-AD-token>
databricks configure --token << EOF
$databricksUrl
$databricksToken
EOF
Чтобы устранить эту проблему, выполните одно из указанных ниже действий.
- Используйте один из других программных параметров конфигурации, как описано в разделе Настройка проверки подлинности.
- Вручную добавьте значения
host
иtoken
в файл.databrickscfg
, как описано в разделе Настройка проверки подлинности. - Понизьте версию установки Databricks CLI до 0.11.0 или ниже и повторно запустите скрипт.
Команды CLI
- ИНТЕРФЕЙС командной строки политик кластера (устаревшая версия)
- Интерфейс командной строки кластеров (устаревшая версия)
- ИНТЕРФЕЙС командной строки DBFS (устаревшая версия)
- Delta Live Tables CLI (устаревшая версия)
- Cli групп (устаревшая версия)
- Интерфейс командной строки пулов экземпляров (устаревшая версия)
- Cli заданий (устаревшая версия)
- Интерфейс командной строки библиотек (устаревшая версия)
- Repos CLI (устаревшая версия)
- Выполняет интерфейс командной строки (устаревшая версия)
- CLI секретов (устаревшая версия)
- Stack CLI (устаревшая версия)
- Cli токенов (устаревшая версия)
- ru-RU: Unity Catalog CLI (устаревшая версия)
- CLI рабочей области (устаревшая версия)