CLI do Databricks (herdada)
Importante
Esta documentação foi desativada e pode não estar atualizada.
O Databricks recomenda o uso da CLI do Databricks versão 0.205 ou superior em vez da versão herdada 0.18 ou inferior da CLI do Databricks. A CLI do Databricks versão 0.18 ou inferior não tem suporte do Databricks. Para obter informações sobre as versões 0.205 e superiores da CLI do Databricks, confira 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 herdada do Databricks está em um estado Experimental. O Databricks não planeja nenhum trabalho de novo recurso para a CLI herdada do Databricks neste momento.
A CLI herdada do Databricks não tem suporte por meio dos canais de suporte do Databricks. Para fornecer comentários, fazer perguntas e relatar problemas, use a guia Problemas no repositório do SDK do Databricks para Go no GitHub.
A interface de linha de comando herdada do Databricks (também conhecida como a CLI herdada do Databricks) é um utilitário que fornece uma interface fácil de usar para automatizar a plataforma do Azure Databricks de seu terminal, prompt de comando ou scripts de automação.
Requisitos
- Python 3 – 3.6 e superior
- Python 2 – 2.7.9 e superior
Importante
No macOS, a instalação padrão do Python 2 não implementa o protocolo TLSv1_2 e a execução da CLI herdada do Databricks com essa instalação do Python resulta no erro: AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'
. Use 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 herdada do Databricks com contêineres de armazenamento habilitados para firewall. O Databricks recomenda que você use o Databricks Connect ou o az storage.
Configurar a CLI
Esta seção descreve como configurar a CLI herdada do Databricks.
Instalar ou atualizar a CLI
Esta seção descreve como instalar ou atualizar seu computador de desenvolvimento para executar a CLI herdada do Databricks.
Instalar a CLI
Execute pip install databricks-cli
usando a versão apropriada do pip
para a instalação do Python:
pip install databricks-cli
Atualizar a CLI
Execute pip install databricks-cli --upgrade
usando a versão apropriada do pip
para a instalação do Python:
pip install databricks-cli --upgrade
Para listar a versão da CLI herdada do Databricks que está instalada no momento, execute databricks --version
:
databricks --version
Configurar a autenticação
Antes de executar comandos da CLI herdada do Databricks, configure a autenticação entre ela e o Azure Databricks. Esta seção descreve como configurar a autenticação para a CLI herdada do Databricks.
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 (antigo Azure Active Directory).
Observação
Como melhor prática de segurança, ao autenticar com ferramentas, sistemas, scripts e aplicativos automatizados, o Databricks recomenda que você use tokens de acesso pertencentes às entidades de serviço e não aos usuários do workspace. Para criar tokens para entidades de serviço, consulte Gerenciar tokens para uma entidade de serviço.
Configurar a autenticação usando um token do Microsoft Entra ID
Para configurar a CLI do Databricks herdada utilizando um token do Microsoft Entra ID, gere o token do Microsoft Entra ID (antigo Azure Active Directory) e armazene-o na variável de ambiente DATABRICKS_AAD_TOKEN
.
Execute o comando a seguir:
databricks configure --aad-token
O comando emitirá o seguinte prompt:
Databricks Host (should begin with https://):
Insira sua URL por workspace, com o formato https://adb-<workspace-id>.<random-number>.azuredatabricks.net
. Para obter a URL por workspace, confira URL por workspace.
Após a conclusão do prompt, suas credenciais de acesso são armazenadas no arquivo ~/.databrickscfg
no Linux ou no macOS ou no arquivo %USERPROFILE%\.databrickscfg
no Windows. O arquivo contém uma entrada de perfil padrão:
[DEFAULT]
host = <workspace-URL>
token = <Azure-AD-token>
Se o arquivo .databrickscfg
já existir, o perfil de configuração DEFAULT
do arquivo será substituído pelos novos dados. Para criar um perfil de configuração com um nome diferente, confira Perfis de conexão.
Configurar a autenticação usando um token de acesso pessoal do Databricks
Para que a CLI herdada do Databricks use um token de acesso pessoal, execute o seguinte comando:
databricks configure --token
O comando começa com a emissão do prompt:
Databricks Host (should begin with https://):
Insira sua URL por workspace, com o formato https://adb-<workspace-id>.<random-number>.azuredatabricks.net
. Para obter a URL por workspace, confira URL por workspace.
O comando continua com a emissão do prompt para inserir seu token de acesso pessoal:
Token:
Após a conclusão dos prompts, suas credenciais de acesso são armazenadas no arquivo ~/.databrickscfg
no Linux ou no macOS ou no arquivo %USERPROFILE%\.databrickscfg
no Windows. O arquivo contém uma entrada de perfil padrão:
[DEFAULT]
host = <workspace-URL>
token = <personal-access-token>
Se o arquivo .databrickscfg
já existir, o perfil de configuração DEFAULT
do arquivo será substituído pelos novos dados. Para criar um perfil de configuração com um nome diferente, confira Perfis de conexão.
Na CLI 0.8.1 e superior, é possível alterar o caminho desse arquivo definindo 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 CLI não funciona mais com um arquivo .netrc a partir da versão 0.17.2. Você pode ter um arquivo .netrc
no seu ambiente para outras finalidades, mas a CLI não usará esse arquivo .netrc
.
A CLI 0.8.0 e superior dá suporte às seguintes variáveis de ambiente do Azure Databricks:
DATABRICKS_HOST
DATABRICKS_TOKEN
Uma configuração de variável de ambiente tem precedência sobre a configuração no arquivo de configuração.
Teste 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 tiver êxito, esse comando listará os arquivos e diretórios na raiz DBFS do workspace associado ao seu perfil DEFAULT
.
Perfis de conexão
A configuração da CLI herdada do Databricks dá suporte a vários perfis de conexão. A mesma instalação da CLI herdada do Databricks pode ser usada para fazer chamadas à API em vários workspaces 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 arquivo .databrickscfg
contém uma entrada de perfil correspondente:
[<profile-name>]
host = <workspace-URL>
token = <token>
Para usar o perfil de conexão:
databricks <group> <command> --profile <profile-name>
Se --profile <profile-name>
não for especificado, o perfil padrão será usado. Se não for encontrado nenhum perfil padrão, será solicitado que você configure a CLI com um perfil padrão.
Testar seus perfis de conexão
Para verificar se você configurou os perfis 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 tiver êxito, esse comando listará os arquivos e diretórios na raiz DBFS do workspace associado ao perfil de conexão especificado. Execute este comando para cada perfil de conexão que você deseja testar.
Para exibir seus perfis disponíveis, consulte o seu arquivo .databrickscfg
.
Como usar a CLI
Esta seção mostra como obter ajuda para a CLI herdada do Databricks, analisar a saída dela e invocar comandos em cada grupo de comandos.
Exibir ajuda do grupo de comandos da CLI
Você lista os subcomandos para qualquer grupo de comandos usando a opção --help
ou a opção -h
. Por exemplo, para listar os subcomandos da CLI do DBFS:
databricks fs -h
Exibir a ajuda do subcomando da CLI
Você lista a ajuda para um subcomando usando a opção --help
ou a opção -h
. Por exemplo, para listar a ajuda para o subcomando de arquivos de cópia do DBFS:
databricks fs cp -h
Grupos de comandos de alias
Às vezes, pode ser inconveniente prefixar cada invocação da CLI herdada do Databricks com o nome de um grupo de comandos, por exemplo databricks workspace ls
na CLI herdada do Databricks. Para facilitar o uso da CLI herdada do Databricks, é possível criar um alias de grupos de comandos para comandos mais curtos.
Por exemplo, para encurtar databricks workspace ls
para dw ls
no Bourne Again Shell, você pode adicionar alias dw="databricks workspace"
ao perfil bash apropriado. Normalmente, esse arquivo está localizado em ~/.bash_profile
.
Dica
A CLI herdada do Databricks já cria o alias databricks fs
para dbfs
; databricks fs ls
e dbfs ls
são equivalentes.
Usar jq
para analisar a saída da CLI
Alguns comandos da CLI herdada do Databricks geram a resposta JSON do ponto de extremidade da API. Às vezes, pode ser útil analisar partes do JSON para redirecionar em outros comandos. Por exemplo, para copiar uma definição de trabalho, você precisa usar o campo settings
de um comado obter trabalho e usá-lo como um argumento do comando criar trabalho. Nesses casos, recomendamos que você use 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 os nomes e as IDs de todos os clusters disponíveis no workspace:
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"
}
]
Por exemplo, você pode instalar o jq
no macOS usando o Homebrew com brew install jq
ou no Windows usando o Chocolatey com choco install jq
. Para obter mais informações sobre jq
, consulte o Manual jq.
Parâmetros de cadeia de caracteres JSON
Os parâmetros de cadeia de caracteres são tratados de maneira diferente, dependendo do seu sistema operacional:
Linux ou macOS
coloque os parâmetros de cadeias de caracteres JSON entre aspas simples. Por exemplo:
'["20180505", "alantest"]'
Windows
coloque os parâmetros de cadeia de caracteres JSON entre aspas duplas e os caracteres de aspas dentro da cadeia de caracteres devem ser precedidos por \
. Por exemplo:
"[\"20180505\", \"alantest\"]"
Solução de problemas
As seções a seguir fornecem dicas para solucionar problemas comuns com a CLI herdada do Databricks.
O uso de EOF com databricks configure
não funciona
Para a CLI 0.12.0 do Databricks e versões superiores, o uso da sequência de fim de arquivo (EOF
) em um script para passar parâmetros para o comando databricks configure
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 é gerada:
# 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, adote uma das seguintes medidas:
- Use uma das outras opções de configuração programática, conforme descrito em Configurar a autenticação.
- Adicione manualmente os valores
host
etoken
ao arquivo.databrickscfg
, conforme descrito em Configurar a autenticação. - Faça downgrade da instalação da CLI do Databricks para a versão 0.11.0 ou versões inferiores. Depois, execute o script novamente.
Comandos de CLI
- CLI de políticas de cluster (hedada)
- CLI de clusters (herdada)
- CLI do DBFS (herdada)
- CLI de Tabelas Dinâmicas Delta (herdada)
- CLI de grupos (herdada)
- CLI de pools de instância (herdada)
- CLI de trabalho (herdada)
- CLI de bibliotecas (herdada)
- CLI do repos (herdada)
- CLI de execuções (herdada)
- CLI de segredos (herdada)
- CLI da pilha (herdada)
- CLI de tokens (herdada)
- CLI do Catálogo do Unity (herdada)
- CLI do workspace (herdada)