Pular para o conteúdo principal
Página não listada
Esta página não está listada. Mecanismos de busca não armazenarão nenhuma informação, e somente usuários que possuam o link direto poderão acessá-la

Databricks CLI (legado)

important

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.

nota

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
important

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:

Bash
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:

Bash
pip install databricks-cli --upgrade

Para listar a versão do legado Databricks CLI que está instalada no momento, execute databricks --version:

Bash
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.

nota

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:

Bash
databricks configure --token

O comando começa com a emissão do prompt:

Console
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:

Console
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:

Console
[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.

Bash
export DATABRICKS_CONFIG_FILE=<path-to-file>
important

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:

Bash
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:

Console
[<profile-name>]
host = <workspace-URL>
token = <token>

Para usar o perfil de conexão:

Bash
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:

Bash
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:

Bash
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:

Bash
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.

dica

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.

Bash
databricks jobs list --output JSON | jq '.jobs[] | select(.job_id == 233) | .settings'

Saída:

Console
{
"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:

Bash
databricks clusters list --output JSON | jq '[ .clusters[] | { name: .cluster_name, id: .cluster_id } ]'

Saída:

Console
[
{
"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:

O senhor deve colocar os parâmetros das cadeias de caracteres JSON entre aspas simples. Por exemplo:

Bash
'["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 e token 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.