Utilitários do Databricks com o Databricks Connect para Python
Nota
Este artigo aborda o Databricks Connect para Databricks Runtime 13.3 LTS e superior.
Este artigo descreve como usar Databricks Utilities com Databricks Connect para Python. O Databricks Connect permite que você conecte IDEs populares, servidores de notebook e aplicativos personalizados a clusters do Azure Databricks. Confira O que é o Databricks Connect?. Para obter a versão do Scala deste artigo, confira Utilitários do Databricks com o Databricks Connect para Scala.
Nota
Antes de começar a usar o Databricks Connect, você deve configurar o cliente do Databricks Connect.
Use o Databricks Connect para acessar os Utilitários do Databricks da seguinte maneira:
- Use a variável
dbutils
da classeWorkspaceClient
para acessar os Utilitários do Databricks. A classeWorkspaceClient
pertence ao SDK do Databricks para Python e está incluída no Databricks Connect. - Use
dbutils.fs
para acessar o utilitário fs dos Utilitários do Databricks. - Use
dbutils.secrets
para acessar o utilitário secrets dos Utilitários do Databricks. - Nenhuma funcionalidade dos Utilitários do Databricks, além dos utilitários mencionados anteriormente, está disponível através de
dbutils
.
Dica
Você também pode usar o SDK do Databricks incluído para Python para acessar qualquer API REST do Databricks disponível, não apenas as APIs de Utilitários do Databricks anteriores. Confira databricks-sdk no PyPI.
Para inicializar WorkspaceClient
, você deve fornecer informações suficientes para autenticar o SDK do Databricks com o espaço de trabalho. Por exemplo, você pode:
Codifique de forma rígida a URL do workspace e o token de acesso diretamente no seu código e, em seguida, inicialize
WorkspaceClient
da seguinte maneira. Embora essa opção tenha suporte, o Databricks não recomenda essa opção, pois pode expor informações confidenciais, como tokens de acesso, se o código for verificado no controle de versão ou compartilhado de outra forma:from databricks.sdk import WorkspaceClient w = WorkspaceClient(host = f"https://{retrieve_workspace_instance_name()}", token = retrieve_token())
Crie ou especifique um perfil de configuração que contém os campos
host
etoken
e intilize oWorkspaceClient
da seguinte maneira:from databricks.sdk import WorkspaceClient w = WorkspaceClient(profile = "<profile-name>")
Defina as variáveis de ambiente
DATABRICKS_HOST
eDATABRICKS_TOKEN
da mesma maneira que as definiu para o Databricks Connect e, em seguida, inicializeWorkspaceClient
da seguinte maneira:from databricks.sdk import WorkspaceClient w = WorkspaceClient()
O SDK do Databricks para Python não reconhece a variável de ambiente SPARK_REMOTE
para o Databricks Connect.
Para ver mais opções de autenticação do Azure Databricks para o SDK do Databricks para Python, bem como inicializar o AccountClient
nos SDKs do Databricks para acessar as APIs REST do Databricks disponíveis na conta em vez de no espaço de trabalho, confira databricks-sdk no PyPI.
O exemplo a seguir mostra como usar o SDK do Databricks para Python para automatizar os Utilitários do Databricks. Este exemplo cria um arquivo chamado zzz_hello.txt
no caminho de um volume do Catálogo do Unity dentro do workspace, lê os dados do arquivo e exclui o arquivo. Este exemplo pressupõe que as variáveis de ambiente DATABRICKS_HOST
e DATABRICKS_TOKEN
já foram definidas:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
file_path = "/Volumes/main/default/my-volume/zzz_hello.txt"
file_data = "Hello, Databricks!"
fs = w.dbutils.fs
fs.put(
file = file_path,
contents = file_data,
overwrite = True
)
print(fs.head(file_path))
fs.rm(file_path)
Confira também Interação com o dbutils na documentação do SDK do Databricks para Python.