Интерфейс командной строки Databricks (устаревшая версия)
Внимание
Эта документация выведена из использования и может больше не обновляться.
Databricks рекомендует использовать Интерфейс командной строки Databricks версии 0.205 или более поздней, а не устаревший интерфейс командной строки Databricks версии 0.18 или ниже. Интерфейс командной строки Databricks версии 0.18 или ниже не поддерживается Databricks. Сведения о databricks CLI версии 0.205 и более поздних версиях см. в разделе "Что такое интерфейс командной строки Databricks?".
Чтобы перейти с версии 0.18 или ниже Databricks CLI на версию 0.205 или выше, смотрите миграцию Databricks CLI.
Устаревший интерфейс командной строки Databricks находится в экспериментальном состоянии. В настоящее время Databricks не планирует разработку новых функций для устаревшего интерфейса командной строки Databricks.
Устаревший интерфейс командной строки Databricks не поддерживается через каналы поддержки Databricks. Чтобы предоставить отзывы, задать вопросы и сообщить о проблемах, используйте вкладку "Проблемы " в репозитории Command Line для Databricks в GitHub.
Устаревший интерфейс командной строки Databricks (CLI) — это программа, которая предоставляет простой в использовании интерфейс для автоматизации платформы Azure Databricks из вашего терминала, командной строки или скриптов автоматизации.
Требования
- Python 3 — 3.6 и выше
- Python 2 — 2.7.9 и более поздних версий
Внимание
В macOS стандартная установка Python 2 не поддерживает протокол TLSv1_2, из-за чего использование устаревшего интерфейса командной строки Databricks с этой установкой Python приводит к ошибке: AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'
. Для установки версии Python с помощью Homebrew используйте 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
будет перезаписан новыми данными. Чтобы создать профиль конфигурации с другим именем, см. раздел "Connection profiles".
Для 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:/
В случае успешного выполнения эта команда выводит файлы и каталоги в корне 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 (устаревшая версия)
- устаревший интерфейс командной строки DLT
- Устаревшая версия CLI групп
- CLI для пулов экземпляров (устаревшая версия)
- Jobs CLI (устаревшая версия)
- Интерфейс командной строки библиотек (устаревшая версия)
- Repos CLI (устаревшая версия)
- Выполняет интерфейс командной строки (устаревшая версия)
- секреты CLI (устаревшая версия)
- Stack CLI (устаревшая версия)
- Tokens CLI (устаревшая версия)
- Unity Catalog CLI (устаревшая версия)
- CLI рабочей среды (устаревшая версия)