Compartilhar via


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 classe WorkspaceClient para acessar os Utilitários do Databricks. A classe WorkspaceClient 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 e tokene intilize 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 maneira que 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 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.