Databricks CLI o que é e como instalo?

Anselmo Borges
Rescue Point
Published in
4 min readAug 24, 2023
Ferramentinha maneira que vai te trazer uma automação beeeeem legal!

Post rapidão, pois precisei fazer uma parada aqui no trampo que só funciona com o Databricks CLI, mas que diabos é isso?

oshi?

O que é o Databricks CLI?

Assim como vários outros serviços CLI o Databricks CLI é uma forma de fazer todas as atividades que eu poderia fazer usando a UI, do Databricks, como gerenciamento de notebooks, clusters, jobs e outros recursos, só que via linha de comando.

Mas no que ele seria útil?

Ele é útil em várias possibilidades, como:

  • Podemos automatizar várias tarefas.
  • Fazer integração com ferramentas de CI/CD.
  • Ele facilita a gestão de recursos do Databricks.
  • Na geração de relatórios de utilização e coisas do gênero.
  • Na execução de funções que não são possíveis via UI, como alguns gerenciamento de escopos e secrets, geração e token de service principals (essa aprendi hoje) entre outras.

Como eu instalo?

Vamos partir do princípio que você tem o Python instalado no seu computador, seja ele um Windows, Linux ou Mac.

Instalando o binário

pip install databricks-cli

Com o binário instalado nós vamos pegar 2 informações do nosso Databricks:

Clique em user settings
  • Essa tela deu uma mudada recentemente, mas clique em “developer” e em “Access Token” clique em “Manage”
Clique em Developer > Access Tokens > Manage
  • Ai clique em “Generate Token”, dê um nome pro seu token e mande gerar.
chamei meu token de databricks-cli, clique em gerar.
  • ele vai te gerar um token tipo esse aqui “dapi568351f7813f815ed862798f879df2a3”

Com o host e o token em mãos vamos partir pra configuração do databricks cli. Rodamos o comando abaixo, ele vai pedir as 2 informações que coletamos.

databricks configure --token

Databricks Host (should begin with https://):
Token:

Entre com as 2 informações e dê enter, aí pra validar se tá rolando rode alguns comandos básicos como esses abaixo:

Esse lista o conteúdo do DBFS

databricks fs ls dbfs:/

Esse outro lista seus clusters

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

Se tudo funcionou, maravilha! Segue abaixo uma lista de alguns dos principais comandos do CLI

  • databricks cluster-policies: Utilitário para interagir com Databricks cluster policies.
  • databricks clusters: Utilitário para interagir com Databricks clusters.
  • databricks configure: Configura o Host e a autenticação do Databricks CLI
  • databricks fs: Utilitário para interagir com o DBFS.
  • databricks groups: Utilitário para interagir com grupos do Databricks
  • databricks instance-pools: Utilitário para interagir com instance pools no Databricks.
  • databricks jobs: Utilitário para interagir com jobs.
  • databricks libraries: Utilitário para interagir com bibliotecas.
  • databricks pipelines: Utilitário para interagir com pipelines de Delta Live Tables.
  • databricks repos: Utilitário para interagir com os Repos.
  • databricks runs: Utilitário para interagir com as execuções dos jobs.
  • databricks secrets: Utilitário para interagir com Databricks secret API
  • databricks stack [Beta]: Utilitário para fazer deploy e download de Databricks resource stacks.
  • databricks tokens: Utilitário para interagir com tokens.
  • databricks unity-catalog: Utilitário para interagir com o Unity Catalog.
  • databricks workspace: Utilitário para interagir com o workspace Databricks.

Lembrando que, se ficar alguma duvida em como utilizar algum desses comandos, basta colocar um “-h” na frente. Se liga:

databricks repos -h
Usage: databricks repos [OPTIONS] COMMAND [ARGS]...

Utility to interact with Repos.

Options:
-v, --version 0.17.7
--debug Debug Mode. Shows full stack trace on error.
--profile TEXT CLI connection profile to use. The default profile is
"DEFAULT".
-h, --help Show this message and exit.

Commands:
create Create a repo and link it to the given remote Git repo
delete Delete the repo based on ID or path
get Get repo based on ID or path
list List repos that user has Manage permissions on
update Checkout the repo to the given branch or tag

Atualizando o Databricks CLI

No meu caso precisava realizar uma funcionalidade de criar um token para um service principal e notei que o “databricks token-management” não existia, falei oooxeeee!

Achei na documentação que esse comando só existia na versão 0.20 pra cima do Databricks CLI, porém o pip só me dá a versão 0.17, nem atualizando o PIP.

Tem um Git da Databricks onde baixo releases mais novos e segue o link abaixo:

Então vamos baixar o zip de acordo com o seu sistema operacional, descompactar e sobrescrever onde o mano tinha jogado o 0.17.

Baixei o pra Linux com o comando abaixo:

wget https://github.com/databricks/cli/releases/download/v0.203.2/databricks_cli_0.203.2_linux_amd64.zip

Com o Zip baixado, descompacto com o comando abaixo:

unzip databricks_cli_0.203.2_linux_amd64.zip

Pegamos o caminho do 0.17 com o comando Which (esse é só pra quem trampa com Linux a anos rs).

root@server:/databricks/driver# which databricks
/databricks/python3/bin/databricks

Com isso pegamos o caminho do mano (/databricks/python3/bin/databricks) agora é só pegar o binário descompactado e mandar pra lá com o comando abaixo:

mv databricks /databricks/python3/bin/databricks

Feito isso só validar a versão:

root@server:/databricks/driver# databricks -v
Databricks CLI v0.203.2

Então por hoje era isso amiguinhos, espero que tenha ajudado!

Deixa a palminha ae e segue pra mais novidades!

--

--

Anselmo Borges
Rescue Point

Bigdata Engineer, Cloud Architect, Nerd, Alcoholic, Brazilian Jiujitsu Black belt and hide and seek World champion.