Databricks Connect Para obter suporte para Python em Databricks Notebook

Observação

Este artigo abrange o Databricks Connect para Databricks Runtime 13.3 LTS e acima.

Databricks Connect permite que o senhor se conecte a Databricks compute a partir de um ambiente de desenvolvimento local fora de Databricks. Em seguida, o senhor pode desenvolver, depurar e testar o código diretamente do IDE antes de transferi-lo para um Notebook ou Job em Databricks. Consulte O que é o Databricks Connect?

Para obter informações sobre o uso do Databricks Connect com o Jupyter Notebook, consulte Use o Jupyter clássico Notebook com Databricks Connect para Python.

Portabilidade

Para fazer a transição do desenvolvimento local para a implantação em Databricks sem problemas, todos os Databricks Connect APIs estão disponíveis no Databricks Notebook como parte do Databricks Runtime correspondente. Isso permite que o senhor execute seu código em um notebook Databricks sem fazer nenhuma alteração no código.

Comportamento da sessão DataBricks

O comportamento de DatabricksSession difere um pouco quando se usa Databricks Connect para Python em um ambiente de desenvolvimento local e em Notebook e Job no Databricks workspace.

Desenvolvimento local, comportamento ambiental

Ao executar o código localmente em um IDE fora do Databricks, DatabricksSession.builder.getOrCreate() obtém a sessão do Spark existente para a configuração fornecida, se ela existir, ou cria uma nova sessão do Spark, se ela não existir. DatabricksSession.builder.create() sempre cria uma nova sessão do Spark. Os parâmetros de conexão, como host, token e cluster_id, são preenchidos a partir do código-fonte, da variável de ambiente ou do arquivo de perfis de configuração .databrickscfg.

Em outras palavras, ao executar usando Databricks Connect, o código a seguir cria duas sessões separadas:

spark1 = DatabricksSession.builder.create()
spark2 = DatabricksSession.builder.create()

Comportamento do espaço de trabalho do Databricks

Ao executar o código em um Notebook ou Job no site Databricks workspace, DatabricksSession.builder.getOrCreate() retorna a sessão default Spark (também acessível por meio da variável spark) quando usada sem nenhuma configuração adicional. A variável spark é pré-configurada para se conectar à instância do site compute à qual o Notebook ou Job está anexado. Uma nova sessão do Spark é criada se forem definidos parâmetros de conexão adicionais, por exemplo, usando DatabricksSession.builder.clusterId(...).getOrCreate() ou DatabricksSession.builder.serverless().getOrCreate().

DatabricksSession.builder.create() requer parâmetros de conexão explícitos em um Notebook, como DatabricksSession.builder.clusterId(...).create(), caso contrário, retorna um erro [UNSUPPORTED].

É possível usar Databricks Connect para se conectar a Databricks compute que não esteja anexado ao Notebook ou Job usando remote(), que recebe um kwargs de configuração ou os métodos de configuração individuais, como host() ou token(). Nesses casos, uma nova sessão é criada para o site compute referenciado, de forma semelhante a quando ele é usado fora de um notebook ou trabalho Databricks.