Partilhar via


Suporte do Databricks Connect nos notebooks Databricks

Observação

Este artigo aborda o Databricks Connect para Databricks Runtime 13.3 LTS e versões superiores.

O Databricks Connect permite que você se conecte à computação Databricks a partir de um ambiente de desenvolvimento local fora do Databricks. Em seguida, você pode desenvolver, depurar e testar seu código diretamente do IDE antes de mover seu código para um bloco de anotações ou trabalho no Databricks. Consulte O que é Databricks Connect?.

Portabilidade

Para fazer a transição do desenvolvimento local para a implantação no Databricks sem problemas, todas as APIs do Databricks Connect estão disponíveis nos blocos de anotações Databricks como parte do Databricks Runtime correspondente. Isso permite que você execute seu código em um bloco de anotações Databricks sem qualquer alteração no seu código.

Comportamento do DatabricksSession

O comportamento de DatabricksSession difere ligeiramente ao empregar o Databricks Connect num ambiente de desenvolvimento local e em notebooks e trabalhos no ambiente de trabalho do Databricks.

Comportamento do ambiente de desenvolvimento local

Ao executar código localmente dentro de um IDE fora do Databricks, DatabricksSession.builder.getOrCreate() recebe a sessão Spark existente para a configuração fornecida, caso exista, ou crie uma nova sessão Spark se esta não existir. DatabricksSession.builder.create() sempre cria uma nova sessão do Spark. Os parâmetros de conexão, como host, tokene cluster_id, são preenchidos a partir do código-fonte, das variáveis de ambiente ou do arquivo de perfis de configuração .databrickscfg.

Em outras palavras, quando executado usando o 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 código em um bloco de anotações ou trabalho no espaço de trabalho Databricks, DatabricksSession.builder.getOrCreate() retorna a sessão padrão do Spark (também acessível através da variável spark) quando usado sem qualquer configuração adicional. A variável spark é pré-configurada para se conectar à instância de computação à qual o bloco de anotações ou trabalho está anexado. Uma nova sessão do Spark será criada se parâmetros de conexão adicionais forem definidos, 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 bloco de anotações, como DatabricksSession.builder.clusterId(...).create(), caso contrário, ele retorna um erro [UNSUPPORTED].

É possível usar o Databricks Connect para se conectar a recursos de computação do Databricks que não estão associados a um notebook ou trabalho, usando remote(), que aceita parâmetros de configuração kwargs, ou através dos métodos de configuração individuais, como host() ou token(). Nesses casos, uma nova sessão é criada para a computação referida, semelhante a quando é usada fora de um notebook ou trabalho do Databricks.

Observação

Para blocos de anotações executados em computação sem servidor, as consultas, por padrão, expiram após 9000 segundos. Você pode personalizar isso definindo a propriedade de configuração do Spark spark.databricks.execution.timeout. Consulte Definir propriedades de configuração do Spark no Azure Databricks.