Utilitários Databricks com Databricks Connect para Python
Nota
Este artigo aborda o Databricks Connect for Databricks Runtime 13.3 LTS e superior.
Este artigo descreve como usar utilitários Databricks com Databricks Connect for Python. O Databricks Connect permite conectar IDEs populares, servidores de notebook e aplicativos personalizados a clusters do Azure Databricks. Consulte O que é Databricks Connect?. Para a versão Scala deste artigo, consulte Databricks Utilities with Databricks Connect for Scala.
Nota
Antes de começar a usar o Databricks Connect, você deve configurar o cliente Databricks Connect.
Você usa o Databricks Connect para acessar os utilitários Databricks da seguinte maneira:
- Use a
WorkspaceClient
variável dadbutils
classe para acessar os utilitários Databricks. AWorkspaceClient
classe pertence ao Databricks SDK for Python e está incluída no Databricks Connect. - Use
dbutils.fs
para acessar o utilitário Databricks Utilities fs . - Use
dbutils.secrets
para acessar o utilitário de segredos Databricks Utilities. - Nenhuma funcionalidade do Databricks Utilities além dos utilitários anteriores está disponível através do
dbutils
.
Gorjeta
Você também pode usar o SDK do Databricks para Python incluído para acessar qualquer API REST do Databricks disponível, não apenas as APIs de utilitários Databricks anteriores. Veja databricks-sdk no PyPI.
Para inicializar WorkspaceClient
o , você deve fornecer informações suficientes para autenticar um SDK do Databricks com o espaço de trabalho. Por exemplo, pode:
Codifique a URL do espaço de trabalho e o token de acesso diretamente no código e, em seguida, inicialize
WorkspaceClient
da seguinte maneira. Embora essa opção seja suportada, o Databricks não recomenda essa opção, pois ela pode expor informações confidenciais, como tokens de acesso, se o seu 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 contenha os campos
host
etoken
, em seguida, inicie oWorkspaceClient
seguinte procedimento:from databricks.sdk import WorkspaceClient w = WorkspaceClient(profile = "<profile-name>")
Defina as variáveis
DATABRICKS_HOST
de ambiente eDATABRICKS_TOKEN
, da mesma forma, você as defina 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 SPARK_REMOTE
variável de ambiente para o Databricks Connect.
Para obter opções adicionais de autenticação do Azure Databricks para o SDK do Databricks para Python, bem como como inicializar AccountClient
dentro dos SDKs do Databricks para acessar as APIs REST disponíveis do Databricks no nível da conta em vez de no nível do espaço de trabalho, consulte databricks-sdk no PyPI.
O exemplo a seguir mostra como usar o SDK do Databricks para Python para automatizar os utilitários Databricks. Este exemplo cria um arquivo nomeado zzz_hello.txt
no caminho de um volume do Unity Catalog dentro do espaço de trabalho, lê os dados do arquivo e exclui o arquivo. Este exemplo pressupõe que as variáveis DATABRICKS_HOST
de ambiente 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)
Consulte também Interação com dbutils na documentação do Databricks SDK for Python.