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.