Databricks CLI (legado)
Essa documentação foi descontinuada e pode não estar atualizada.
Databricks recomenda que o senhor use Databricks CLI versão 0.205 ou acima em vez do legado Databricks CLI versão 0.18 ou abaixo. Databricks CLI A versão 0.18 ou abaixo não é compatível com o site Databricks. Para obter informações sobre Databricks CLI versões 0.205 e superiores, consulte O que é o Databricks CLI?
Para migrar de Databricks CLI versão 0.18 ou abaixo para Databricks CLI versão 0.205 ou acima, consulte Databricks CLI migration.
A CLI legada da Databricks está em um estado Experimental. Databricks não planeja nenhum novo trabalho de recurso para o legado Databricks CLI no momento.
O legado Databricks CLI não é suportado pelo canal de suporte Databricks. Para fornecer feedback, fazer perguntas e relatar problemas, use o Issues tab no repositório Comando Line Interface for Databricks em GitHub.
A CLI antiga do Databricks não está disponível no Databricks for Google Cloud.
A interface legada Databricks comando-line (também conhecida como Databricks CLI) é um utilitário que oferece uma interface fácil de usar para automatizar a plataforma Databricks a partir do seu terminal, prompt de comando ou scripts de automação.
Requisitos
- Python 3 - 3.6 e acima
- Python 2 - 2.7.9 e acima
No macOS, a instalação default Python 2 não implementa o protocolo TLSv1_2, e a execução do legado Databricks CLI com essa instalação Python resulta no erro: AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'
. Use o Homebrew para instalar uma versão do Python que tenha ssl.PROTOCOL_TLSv1_2
.
Configurar a CLI
Esta seção descreve como configurar a CLI legada do Databricks.
Instalar ou atualizar a CLI
Esta seção descreve como instalar ou atualizar sua máquina de desenvolvimento para executar o legado Databricks CLI.
Instalar a CLI
execução pip install databricks-cli
usando a versão apropriada de pip
para sua instalação em Python:
pip install databricks-cli
Atualizar a CLI
execução pip install databricks-cli --upgrade
usando a versão apropriada de pip
para sua instalação em Python:
pip install databricks-cli --upgrade
Para listar a versão do legado Databricks CLI que está instalada no momento, execute databricks --version
:
databricks --version
Configurar autenticação
Antes de poder executar o comando legacy Databricks CLI , o senhor deve configurar a autenticação entre o legacy Databricks CLI e Databricks. Esta seção descreve como configurar a autenticação para a CLI legada da Databricks.
Para se autenticar com o legado Databricks CLI, o senhor pode usar tokens de acesso pessoalDatabricks.
Como prática recomendada de segurança, ao se autenticar com ferramentas, sistemas, scripts e aplicativos automatizados, o Databricks recomenda que o senhor use o acesso pessoal tokens pertencente à entidade de serviço em vez dos usuários do workspace. Para criar tokens o site para uma entidade de serviço, consulte gerenciar tokens para uma entidade de serviço.
Configure a autenticação usando um Databricks tokens de acesso pessoal
Para configurar o legado Databricks CLI para usar tokens 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://):
Digite seu URL workspace, com o formato https://<instance-name>.<random-number>.gcp.databricks.com
. Para obter seu URL workspace, consulte nomes de instâncias de workspace, URLs e IDs.
O comando continua emitindo o prompt para inserir seus tokens 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 default:
[DEFAULT]
host = <workspace-URL>
token = <personal-access-token>
Se o arquivo .databrickscfg
já existir, o perfil de configuração DEFAULT
desse arquivo será substituído pelos novos dados. Para criar um perfil de configuração com um nome diferente, consulte Perfis de conexão.
Para CLI 0.8.1 e acima, o senhor pode alterar o caminho desse arquivo definindo a variável de ambiente DATABRICKS_CONFIG_FILE
.
- Linux or macOS
- Windows
export DATABRICKS_CONFIG_FILE=<path-to-file>
setx DATABRICKS_CONFIG_FILE "<path-to-file>" /M
A partir da versão 0.17.2 da CLI, a CLI não funciona com um arquivo .netrc. O senhor pode ter um arquivo .netrc
em seu ambiente para outros fins, mas a CLI não usará esse arquivo .netrc
.
Uma configuração de variável de ambiente tem precedência sobre a configuração no arquivo de configuração.
Teste sua configuração de autenticação
Para verificar se a autenticação foi configurada corretamente, o senhor pode executar um comando como o seguinte:
databricks fs ls dbfs:/
Se for bem-sucedido, esse comando listará os arquivos e diretórios no site DBFS root do workspace que está associado ao seu perfil DEFAULT
.
Perfis de conexão
A configuração da CLI do Databricks legado oferece suporte a vários perfis de conexão. A mesma instalação do legado Databricks CLI pode ser usada para fazer chamadas API em vários espaços de trabalho Databricks.
Para adicionar um perfil de conexão, especifique um nome exclusivo para o perfil:
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, será usado o perfil default. Se um perfil default não for encontrado, o senhor será solicitado a configurar o CLI com um perfil default.
Teste seus perfis de conexão
Para verificar se os perfis de conexão foram configurados corretamente, o senhor pode executar um comando como o seguinte com um dos nomes dos perfis de conexão:
databricks fs ls dbfs:/ --profile <profile-name>
Se for bem-sucedido, esse comando listará os arquivos e diretórios no site DBFS root do workspace para o perfil de conexão especificado. Execute esse comando para cada perfil de conexão que o senhor deseja testar.
Para view seus perfis disponíveis, consulte seu arquivo .databrickscfg
.
Usar a CLI
Esta seção mostra como obter ajuda do legado Databricks CLI , analisar a saída do legado Databricks CLI e invocar o comando em cada grupo de comando.
Exibir CLI comando group help
O senhor lista os subcomandos de qualquer grupo de comandos usando a opção --help
ou -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 de um subcomando usando a opção --help
ou -h
. Por exemplo, para listar a ajuda do subcomando DBFS copy files:
databricks fs cp -h
Grupos de comando de aliases
Às vezes, pode ser inconveniente prefixar cada invocação do legado Databricks CLI com o nome de um grupo de comando, por exemplo, databricks workspace ls
no legado Databricks CLI. Para facilitar o uso do site legado Databricks CLI , o senhor pode usar o alias de grupos de comando para um comando mais curto.
Por exemplo, para encurtar databricks workspace ls
para dw ls
no shell
Bourne again, o senhor pode adicionar alias dw="databricks workspace"
ao perfil bash apropriado. Normalmente,
esse arquivo está localizado em ~/.bash_profile
.
A CLI legada da Databricks já faz o alias de databricks fs
para dbfs
; databricks fs ls
e dbfs ls
são equivalentes.
Use jq
para analisar a saída da CLI
Alguns comandos legados Databricks CLI emitem a resposta JSON do API endpoint. Às vezes, pode ser útil analisar partes do site JSON para canalizar para outro comando. Por exemplo, para copiar uma definição de Job
, o senhor deve pegar o campo settings
de um comando get Job e usá-lo como argumento
para o comando create Job. Nesses casos, recomendamos que o senhor use as utilidades jq
.
Por exemplo, o comando a seguir imprime as configurações do Job com o 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 site 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"
}
]
O senhor pode instalar o jq
, por exemplo, 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 do jq.
JSON parâmetros de strings
Os parâmetros de cadeias de caracteres são tratados de forma diferente, dependendo do sistema operacional:
- Linux or macOS
- Windows
O senhor deve colocar os parâmetros das cadeias de caracteres JSON entre aspas simples. Por exemplo:
'["20180505", "alantest"]'
O senhor deve colocar os parâmetros das cadeias de caracteres JSON entre aspas duplas, e os caracteres de aspas dentro das cadeias 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 legada do Databricks.
Usar EOF com databricks configure
não funciona
Para Databricks CLI 0.12.0 e acima, 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 é emitida:
Para corrigir esse problema, faça o seguinte:
- Use uma das outras opções de configuração programática, conforme descrito em Configurar autenticação.
- Adicione manualmente os valores
host
etoken
ao arquivo.databrickscfg
conforme descrito em Configurar autenticação. - Faça o downgrade de sua instalação do Databricks CLI para 0.11.0 ou abaixo e execute o script novamente.