Databricks CLI (legado)
Importante
Esta documentação foi desativada e pode não ser atualizada.
O Databricks recomenda que você use a CLI do Databricks versão 0.205 ou superior em vez da CLI do Databricks herdada versão 0.18 ou inferior. A CLI do Databricks versão 0.18 ou inferior não é suportada pelo Databricks. Para obter informações sobre as versões 0.205 e superiores da CLI do Databricks, consulte O que é a CLI do Databricks?.
Para migrar da CLI do Databricks versão 0.18 ou inferior para a CLI do Databricks versão 0.205 ou superior, consulte Migração da CLI do Databricks.
A CLI do Databricks herdada está em um estado Experimental . O Databricks não planeja nenhum novo trabalho de recurso para a CLI do Databricks herdada no momento.
A CLI do Databricks herdada não é suportada pelos canais de suporte do Databricks. Para fornecer comentários, fazer perguntas e relatar problemas, use a guia Problemas na interface de linha de comando para repositório Databricks no GitHub.
A interface de linha de comando Databricks herdada (também conhecida como CLI Databricks herdada) é um utilitário que fornece uma interface fácil de usar para automatizar a plataforma Azure Databricks a partir de seu terminal, prompt de comando ou scripts de automação.
Requisitos
- Python 3 - 3.6 e posterior
- Python 2 - 2.7.9 e posterior
Importante
No macOS, a instalação padrão do Python 2 não implementa o protocolo TLSv1_2, e executar a CLI do Databricks herdada com essa instalação do Python resulta no erro: AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'
. Utilize o Homebrew para instalar uma versão do Python que tenha ssl.PROTOCOL_TLSv1_2
.
Limitações
Não há suporte para o uso da CLI Databricks herdada com contêineres de armazenamento habilitados para firewall. O Databricks recomenda a utilização do Databricks Connect ou az storage.
Configurar a CLI
Esta seção descreve como configurar a CLI do Databricks herdada.
Instalar ou atualizar a CLI
Esta seção descreve como instalar ou atualizar sua máquina de desenvolvimento para executar a CLI do Databricks herdada.
Instalar a CLI
Execute pip install databricks-cli
usando a versão apropriada do para sua instalação do pip
Python:
pip install databricks-cli
Atualizar a CLI
Execute pip install databricks-cli --upgrade
usando a versão apropriada do para sua instalação do pip
Python:
pip install databricks-cli --upgrade
Para listar a versão da CLI do Databricks herdada que está instalada no momento, execute databricks --version
:
databricks --version
Configurar a autenticação
Antes de executar comandos herdados da CLI do Databricks, você deve configurar a autenticação entre a CLI do Databricks herdada e o Azure Databricks. Esta seção descreve como configurar a autenticação para a CLI do Databricks herdada.
Para autenticar com a CLI do Databricks herdada, você pode usar um token de acesso pessoal do Databricks ou um token do Microsoft Entra ID (anteriormente Azure Ative Directory).
Nota
Como prática recomendada de segurança, quando você se autentica com ferramentas, sistemas, scripts e aplicativos automatizados, o Databricks recomenda que você use tokens de acesso pessoal pertencentes a entidades de serviço em vez de usuários do espaço de trabalho. Para criar tokens para entidades de serviço, consulte Gerenciar tokens para uma entidade de serviço.
Configurar a autenticação usando um token de ID do Microsoft Entra
Para configurar a CLI do Databricks herdada usando um token de ID do Microsoft Entra, gere o token do Microsoft Entra ID (anteriormente Azure Ative Directory) e armazene-o na variável DATABRICKS_AAD_TOKEN
de ambiente.
Execute o seguinte comando:
databricks configure --aad-token
O comando emite a instrução:
Databricks Host (should begin with https://):
Insira o URL por espaço de trabalho, com o formato https://adb-<workspace-id>.<random-number>.azuredatabricks.net
. Para obter a URL por espaço de trabalho, consulte URL por espaço de trabalho.
Depois de concluir o prompt, suas credenciais de acesso são armazenadas no arquivo ~/.databrickscfg
no Linux ou macOS ou %USERPROFILE%\.databrickscfg
no Windows. O arquivo contém uma entrada de perfil padrão:
[DEFAULT]
host = <workspace-URL>
token = <Azure-AD-token>
Se o .databrickscfg
arquivo já existir, o perfil de DEFAULT
configuração desse arquivo será substituído pelos novos dados. Para criar um perfil de configuração com um nome diferente, consulte Perfis de conexão.
Configurar a autenticação com um token de acesso pessoal do Databricks
Para configurar a CLI do Databricks herdada para usar um token de acesso pessoal, execute o seguinte comando:
databricks configure --token
O comando começa emitindo o prompt:
Databricks Host (should begin with https://):
Insira o URL por espaço de trabalho, com o formato https://adb-<workspace-id>.<random-number>.azuredatabricks.net
. Para obter a URL por espaço de trabalho, consulte URL por espaço de trabalho.
O comando continua emitindo o prompt para inserir seu token de acesso pessoal:
Token:
Depois de concluir os prompts, suas credenciais de acesso são armazenadas no arquivo ~/.databrickscfg
no Linux ou macOS, ou %USERPROFILE%\.databrickscfg
no Windows. O arquivo contém uma entrada de perfil padrão:
[DEFAULT]
host = <workspace-URL>
token = <personal-access-token>
Se o .databrickscfg
arquivo já existir, o perfil de DEFAULT
configuração desse arquivo será substituído pelos novos dados. Para criar um perfil de configuração com um nome diferente, consulte Perfis de conexão.
Na CLI 0.8.1 e posteriores, pode alterar o caminho deste ficheiro ao definir a variável de ambiente DATABRICKS_CONFIG_FILE
.
Linux ou macOS
export DATABRICKS_CONFIG_FILE=<path-to-file>
Windows
setx DATABRICKS_CONFIG_FILE "<path-to-file>" /M
Importante
A partir da CLI 0.17.2, a CLI não funciona com um arquivo .netrc. Você pode ter um .netrc
arquivo em seu ambiente para outros fins, mas a CLI não usará esse .netrc
arquivo.
A CLI 0.8.0 e superior dá suporte às seguintes variáveis de ambiente do Azure Databricks:
DATABRICKS_HOST
DATABRICKS_TOKEN
As definições de variáveis de ambiente têm precedência sobre as definições no ficheiro de configuração.
Testar a configuração de autenticação
Para verificar se você configurou a autenticação corretamente, você pode executar um comando como o seguinte:
databricks fs ls dbfs:/
Se for bem-sucedido, este comando lista os arquivos e diretórios na raiz DBFS do espaço de trabalho associado ao seu DEFAULT
perfil.
Perfis de conexão
A configuração herdada da CLI do Databricks suporta vários perfis de conexão. A mesma instalação da CLI do Databricks herdada pode ser usada para fazer chamadas de API em vários espaços de trabalho do Azure Databricks.
Para adicionar um perfil de conexão, especifique um nome exclusivo para o perfil:
databricks configure [--token | --aad-token] --profile <profile-name>
O .databrickscfg
arquivo contém uma entrada de perfil correspondente:
[<profile-name>]
host = <workspace-URL>
token = <token>
Para utilizar o perfil de ligação:
databricks <group> <command> --profile <profile-name>
Se --profile <profile-name>
não for especificado, o perfil padrão será usado. Se um perfil padrão não for encontrado, você será solicitado a configurar a CLI com um perfil padrão.
Teste seus perfis de conexão
Para verificar se você configurou algum perfil de conexão corretamente, você pode executar um comando como o seguinte com um dos nomes de perfil de conexão:
databricks fs ls dbfs:/ --profile <profile-name>
Se for bem-sucedido, este comando lista os arquivos e diretórios na raiz DBFS do espaço de trabalho para o perfil de conexão especificado. Execute este comando para cada perfil de conexão que você deseja testar.
Para ver os seus perfis disponíveis, consulte o seu .databrickscfg
ficheiro.
Utilizar a CLI
Esta seção mostra como obter ajuda da CLI do Databricks herdada, analisar a saída da CLI do Databricks herdada e invocar comandos em cada grupo de comandos.
Apresentar a ajuda dos grupos de comandos da CLI
Liste os subcomandos para qualquer grupo de comandos usando a --help
opção ou -h
. Por exemplo, para listar os subcomandos da CLI do DBFS:
databricks fs -h
Exibir ajuda do subcomando da CLI
Você lista a ajuda para um subcomando usando a --help
opção ou -h
. Por exemplo, para listar a ajuda para o subcomando DBFS copy files:
databricks fs cp -h
Grupos de comando de alias
Às vezes, pode ser inconveniente prefixar cada invocação da CLI do Databricks herdada com o nome de um grupo de comandos, por exemplo databricks workspace ls
, na CLI do Databricks herdada. Para tornar a CLI do Databricks herdada mais fácil de usar, você pode usar grupos de comandos de alias para comandos mais curtos.
Por exemplo, para encurtar databricks workspace ls
para dw ls
no shell Bourne novamente, você pode adicionar alias dw="databricks workspace"
ao perfil bash apropriado. Regra geral, este ficheiro está localizado em ~/.bash_profile
.
Gorjeta
A CLI do Databricks herdada já usa aliases databricks fs
para dbfs
; databricks fs ls
e dbfs ls
são equivalentes.
Use jq
para analisar a saída da CLI
Alguns comandos herdados da CLI do Databricks produzem a resposta JSON do ponto de extremidade da API. Em alguns casos, pode ser útil analisar partes do JSON para transmitir para outros comandos. Por exemplo, para copiar uma definição de trabalho, você deve pegar o settings
campo de um comando get job e usá-lo como um argumento para o comando create job. Nesses casos, recomendamos que utilize o utilitário jq
.
Por exemplo, o comando a seguir imprime as configurações do trabalho com a ID 233.
databricks jobs list --output JSON | jq '.jobs[] | select(.job_id == 233) | .settings'
Saída:
{
"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
}
Como outro exemplo, o comando a seguir imprime apenas os nomes e IDs de todos os clusters disponíveis no espaço de trabalho:
databricks clusters list --output JSON | jq '[ .clusters[] | { name: .cluster_name, id: .cluster_id } ]'
Saída:
[
{
"name": "My Cluster 1",
"id": "1234-567890-grip123"
},
{
"name": "My Cluster 2",
"id": "2345-678901-patch234"
}
]
Você pode instalar jq
, por exemplo, no macOS usando Homebrew com brew install jq
ou no Windows usando Chocolatey com choco install jq
. Para obter mais informações sobre o jq
, veja o Manual do jq.
Parâmetros da cadeia JSON
Os parâmetros das cadeias são processados de forma diferente consoante o sistema operativo:
Linux ou macOS
tem de incluir os parâmetros das cadeias JSON em plicas. Por exemplo:
'["20180505", "alantest"]'
Windows
tem de incluir os parâmetros das cadeias JSON em aspas duplas e os carateres de aspas dentro da cadeia têm de ser precedidos de \
. Por exemplo:
"[\"20180505\", \"alantest\"]"
Resolução de Problemas
As seções a seguir fornecem dicas para solucionar problemas comuns com a CLI herdada do Databricks.
Usar EOF com databricks configure
não funciona
Para Databricks CLI 0.12.0 e superior, usar o fim da sequência de arquivo (EOF
) em um script para passar parâmetros para o databricks configure
comando não funciona. Por exemplo, o script a seguir faz com que a CLI do Databricks ignore os parâmetros e nenhuma mensagem de erro é lançada:
# Do not do this.
databricksUrl=<per-workspace-url>
databricksToken=<personal-access-token-or-Azure-AD-token>
databricks configure --token << EOF
$databricksUrl
$databricksToken
EOF
Para corrigir esse problema, siga um destes procedimentos:
- Use uma das outras opções de configuração programática conforme descrito em Configurar autenticação.
- Adicione manualmente os
host
valores etoken
ao.databrickscfg
arquivo conforme descrito em Configurar autenticação. - Faça o downgrade da instalação da CLI do Databricks para 0.11.0 ou inferior e execute o script novamente.
Comandos da CLI
- CLI de Políticas de Cluster (legado)
- CLI de clusters (legado)
- DBFS CLI (legado)
- Delta Live Tables CLI (legado)
- CLI de grupos (legado)
- CLI de pools de instâncias (legado)
- Jobs CLI (legado)
- CLI de bibliotecas (legado)
- Repos CLI (legado)
- Executa CLI (legado)
- Segredos CLI (legado)
- CLI de pilha (legado)
- CLI de tokens (legado)
- CLI do Catálogo Unity (legado)
- CLI do espaço de trabalho (legado)