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 de utilitários Databricks com o 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 obter a versão Scala deste artigo, consulte Databricks Utilities with Databricks Connect for Scala.

Observação

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

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

  • Use a variável WorkspaceClient da classe dbutils para acessar os utilitários Databricks. 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.

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>")
    
  • Set as variáveis de ambiente DATABRICKS_HOST e DATABRICKS_TOKEN da mesma forma que você as set 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 como inicializar AccountClient nos SDKs do Databricks para acessar APIs REST do Databricks disponíveis 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 chamado 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 set:

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.