Pular para o conteúdo principal

configuração de computação para Databricks Connect

nota

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

Neste artigo, o senhor configura as propriedades para estabelecer uma conexão entre Databricks Connect e seu Databricks clustering serverless computeou. Estas informações se aplicam às versões Python e Scala do site Databricks Connect, salvo indicação em contrário.

Databricks Connect permite que o senhor conecte aplicativos IDEs populares, como Visual Studio Code, PyCharm, RStudio Desktop, IntelliJ IDEA, servidores Notebook e outros aplicativos personalizados ao clustering Databricks. Consulte O que é o Databricks Connect?

Requisitos

Para configurar uma conexão com Databricks compute, o senhor deve ter:

Configuração

Antes de começar, você precisa do seguinte:

nota

Configurar uma conexão com um clustering

Há várias maneiras de configurar a conexão com seu clustering. O Databricks Connect procura as propriedades de configuração na seguinte ordem e usa a primeira configuração que encontrar. Para obter informações sobre configurações avançadas, consulte Uso avançado do Databricks Connect para Python.

  1. O método remote () da classe DataBricksSession.
  2. Um perfil de configuração do Databricks
  3. A variável de ambiente DATABRICKS_CONFIG_PROFILE
  4. Uma variável de ambiente para cada propriedade de configuração
  5. Um perfil de configuração Databricks denominado default

O método remote() da classe DatabricksSession

Para essa opção, que se aplica somente à autenticação de tokens de acesso pessoalDatabricks, especifique o nome da instância workspace, os tokens de acesso pessoal Databricks e o ID do clustering.

Você pode inicializar a classe DatabricksSession de várias maneiras:

  • Defina os campos host, token e cluster_id em DatabricksSession.builder.remote().
  • Use a classe Config do SDK da Databricks.
  • Especifique um perfil de configuração do Databricks junto com o campo cluster_id.

Em vez de especificar essas propriedades de conexão no código, o site Databricks recomenda configurar as propriedades por meio de variáveis de ambiente ou arquivos de configuração, conforme descrito ao longo desta seção. Os exemplos de código a seguir pressupõem que você forneça alguma implementação das funções retrieve_* propostas para obter as propriedades necessárias do usuário ou de algum outro armazenamento de configuração, como o Google Cloud Secret Manager.

O código para cada uma dessas abordagens é o seguinte:

Python
# Set the host, token, and cluster_id fields in DatabricksSession.builder.remote.
# If you have already set the DATABRICKS_CLUSTER_ID environment variable with the
# cluster's ID, you do not also need to set the cluster_id field here.
from databricks.connect import DatabricksSession

spark = DatabricksSession.builder.remote(
host = f"https://{retrieve_workspace_instance_name()}",
token = retrieve_token(),
cluster_id = retrieve_cluster_id()
).getOrCreate()
Python
# Use the Databricks SDK's Config class.
# If you have already set the DATABRICKS_CLUSTER_ID environment variable with the
# cluster's ID, you do not also need to set the cluster_id field here.
from databricks.connect import DatabricksSession
from databricks.sdk.core import Config

config = Config(
host = f"https://{retrieve_workspace_instance_name()}",
token = retrieve_token(),
cluster_id = retrieve_cluster_id()
)

spark = DatabricksSession.builder.sdkConfig(config).getOrCreate()
Python
# Specify a Databricks configuration profile along with the `cluster_id` field.
# If you have already set the DATABRICKS_CLUSTER_ID environment variable with the
# cluster's ID, you do not also need to set the cluster_id field here.
from databricks.connect import DatabricksSession
from databricks.sdk.core import Config

config = Config(
profile = "<profile-name>",
cluster_id = retrieve_cluster_id()
)

spark = DatabricksSession.builder.sdkConfig(config).getOrCreate()

Um perfil de configuração do Databricks

Para essa opção, crie ou identifique um perfil de configuração do Databricks que contenha o campo cluster_id e quaisquer outros campos que sejam necessários para o tipo de autenticação do Databricks que o senhor deseja usar.

Os campos de perfil de configuração necessários para cada tipo de autenticação são os seguintes:

Em seguida, defina o nome desse perfil de configuração por meio da classe de configuração.

Você pode especificar cluster_id de duas maneiras:

  • Inclua o campo cluster_id em seu perfil de configuração e, em seguida, especifique o nome do perfil de configuração.
  • Especifique o nome do perfil de configuração junto com o campo cluster_id.

Se o senhor já tiver definido o DATABRICKS_CLUSTER_ID variável de ambiente com o ID do clustering, não precisará especificar também cluster_id.

O código para cada uma dessas abordagens é o seguinte:

Python
# Include the cluster_id field in your configuration profile, and then
# just specify the configuration profile's name:
from databricks.connect import DatabricksSession

spark = DatabricksSession.builder.profile("<profile-name>").getOrCreate()
Python
# Specify the configuration profile name along with the cluster_id field.
# In this example, retrieve_cluster_id() assumes some custom implementation that
# you provide to get the cluster ID from the user or from some other
# configuration store:
from databricks.connect import DatabricksSession
from databricks.sdk.core import Config

config = Config(
profile = "<profile-name>",
cluster_id = retrieve_cluster_id()
)

spark = DatabricksSession.builder.sdkConfig(config).getOrCreate()

A variável de ambiente DATABRICKS_CONFIG_PROFILE

Para essa opção, crie ou identifique um perfil de configuração do Databricks que contenha o campo cluster_id e quaisquer outros campos que sejam necessários para o tipo de autenticação do Databricks que o senhor deseja usar.

Se o senhor já tiver definido o DATABRICKS_CLUSTER_ID variável de ambiente com o ID do clustering, não precisará especificar também cluster_id.

Os campos de perfil de configuração necessários para cada tipo de autenticação são os seguintes:

Defina a variável de ambiente DATABRICKS_CONFIG_PROFILE com o nome desse perfil de configuração. Em seguida, inicialize a classe DatabricksSession:

Python
from databricks.connect import DatabricksSession

spark = DatabricksSession.builder.getOrCreate()

Uma variável de ambiente para cada propriedade de configuração

Para essa opção, defina a variável de ambiente DATABRICKS_CLUSTER_ID e qualquer outra variável de ambiente que seja necessária para o tipo de autenticaçãoDatabricks que o senhor deseja usar.

A variável de ambiente necessária para cada tipo de autenticação é a seguinte:

Em seguida, inicialize a classe DatabricksSession:

Python
from databricks.connect import DatabricksSession

spark = DatabricksSession.builder.getOrCreate()

Um perfil de configuração do Databricks chamado DEFAULT

Para essa opção, crie ou identifique um perfil de configuração do Databricks que contenha o campo cluster_id e quaisquer outros campos que sejam necessários para o tipo de autenticação do Databricks que o senhor deseja usar.

Se o senhor já tiver definido o DATABRICKS_CLUSTER_ID variável de ambiente com o ID do clustering, não precisará especificar também cluster_id.

Os campos de perfil de configuração necessários para cada tipo de autenticação são os seguintes:

Nomeie esse perfil de configuração como DEFAULT.

Em seguida, inicialize a classe DatabricksSession:

Python
from databricks.connect import DatabricksSession

spark = DatabricksSession.builder.getOrCreate()

Configurar uma conexão com serverless compute

info

Visualização

Esse recurso está em Public Preview.

Databricks Connect para Python suporta a conexão com serverless compute. Para usar esse recurso, os requisitos de versão para conexão com o serverless devem ser atendidos. Consulte os requisitos.

important

Esse recurso tem as seguintes limitações:

O senhor pode configurar uma conexão com serverless compute de uma das seguintes maneiras:

  • Defina a variável de ambiente local DATABRICKS_SERVERLESS_COMPUTE_ID como auto. Se essa variável de ambiente for definida, o Databricks Connect ignorará o endereço cluster_id.

  • Em um perfil de configuração local do Databricks, defina serverless_compute_id = auto e, em seguida, faça referência a esse perfil em seu código.

    [DEFAULT]
    host = https://my-workspace.cloud.databricks.com/
    serverless_compute_id = auto
    token = dapi123...
  • Ou use uma das seguintes opções:

Python
from databricks.connect import DatabricksSession as SparkSession

spark = DatabricksSession.builder.serverless(True).getOrCreate()
Python
from databricks.connect import DatabricksSession as SparkSession

spark = DatabricksSession.builder.remote(serverless=True).getOrCreate()
nota

A sessão serverless compute é encerrada após 10 minutos de inatividade. Depois disso, uma nova sessão Spark deve ser criada usando getOrCreate() para se conectar a serverless compute.

Validar a conexão com o Databricks

Para validar seu ambiente, as credenciais do default e a conexão com o compute estão configuradas corretamente para o Databricks Connect, execute o comando databricks-connect test, que falha com um código de saída diferente de zero e uma mensagem de erro correspondente quando detecta qualquer incompatibilidade na configuração.

Bash
databricks-connect test

Em Databricks Connect 14.3 e acima, o senhor também pode validar seu ambiente usando validateSession():

DatabricksSession.builder.validateSession(True).getOrCreate()

Desativando o Databricks Connect

Databricks Connect (e o serviço subjacente Spark Connect) pode ser desativado em qualquer clustering.

Para desativar o serviço Databricks Connect, defina a seguinte configuraçãoSpark no clustering.

spark.databricks.service.server.enabled false