Partilhar via


Utilitários Databricks para Python com Databricks Connect

Observação

Este artigo aborda Databricks Connect para Databricks Runtime 13.3 LTS e posteriores.

Este artigo descreve como usar utilitários Databricks com o Databricks Connect para Python. O Databricks Connect permite conectar IDEs populares, servidores de notebook e aplicativos personalizados a clusters do Azure Databricks. Consulte O que é Databricks Connect?.

Antes de começar a usar o Databricks Connect, você deve configurar o cliente Databricks Connect.

Para obter a versão Scala deste artigo, consulte Databricks Utilities with Databricks Connect for Scala.

Utilidades Databricks Disponíveis

Você usa o Databricks Connect para acessar os utilitários Databricks da seguinte maneira:

  • Use a variável WorkspaceClient da classe dbutils para aceder aos Databricks Utilities. A classe WorkspaceClient pertence ao Databricks SDK for Python e está incluída no Databricks Connect.
  • Use dbutils.fs para aceder ao utilitário Databricks Utilities fs.
  • Use dbutils.secrets para aceder ao utilitário de segredos dos Utilitários Databricks .

Nenhuma funcionalidade do Databricks Utilities além dos utilitários anteriores está disponível a partir de dbutils.

Dica

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. Consulte databricks-sdk no PyPI.

Iniciar o WorkspaceClient

Para inicializar WorkspaceClient, você deve fornecer informações suficientes para autenticar um SDK do Databricks com o espaço de trabalho. Por exemplo, você pode:

  • Codifique diretamente a URL do espaço de trabalho e o token de acesso no seu 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 e tokene, em seguida, inicialize o WorkspaceClient da seguinte maneira:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(profile = "<profile-name>")
    
  • Defina as variáveis de ambiente DATABRICKS_HOST e DATABRICKS_TOKEN da mesma forma que você as definiu para o Databricks Connect e, em seguida, inicialize WorkspaceClient 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 obter opções adicionais de autenticação do Azure Databricks para o SDK do Databricks para Python, bem como inicializar AccountClient nos SDKs do Databricks para aceder às APIs REST do Databricks disponíveis a nível de conta em vez de a nível de espaço de trabalho, consulte databricks-sdk no PyPI.

Exemplo: Criar um ficheiro num volume

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 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)

Consulte também Interação com dbutils na documentação do Databricks SDK for Python.