Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Nota
Este artigo aborda o Databricks Connect para o Databricks Runtime 13.3 LTS e versões superiores.
Esta página descreve diferentes formas de configurar uma ligação entre o Databricks Connect e o seu Azure Databricks cluster ou computação sem servidor.
O Databricks Connect permite-lhe ligar IDEs populares como Visual Studio Code, PyCharm, RStudio Desktop, IntelliJ IDEA, servidores de notebooks e outras aplicações personalizadas a clusters Azure Databricks. Consulte Databricks Connect.
Configurar
Antes de começar, você precisa do seguinte:
- Databricks Connect instalado. Para obter os requisitos de instalação, consulte Requisitos de uso do Databricks Connect.
- O nome da instância Azure Databricks workspace. Este é o valor Server Hostname para sua computação. Consulte Obtenha detalhes de ligação para um recurso de computação Azure Databricks.
- Se estiveres a ligar-te à computação clássica, a ID do teu cluster. Você pode obter o ID do cluster da URL. Consulte URL e ID do recurso de computação.
Configurar uma conexão com um cluster
Há várias maneiras de configurar a conexão com o cluster. O Databricks Connect procura propriedades de configuração na seguinte ordem e usa a primeira configuração encontrada. Para obter informações de configuração avançada, consulte Uso avançado do Databricks Connect.
- O método remote() da classe DatabricksSession.
- Um perfil de configuração do Databricks
- A variável de ambiente DATABRICKS_CONFIG_PROFILE
- Uma variável de ambiente para cada propriedade de configuração
- Um perfil de configuração do Databricks chamado DEFAULT
O DatabricksSession método da remote() classe
Para esta opção, que se aplica exclusivamente a Autenticar com tokens de acesso pessoal Azure Databricks (legacy), especifique o nome da instância do espaço de trabalho, o token de acesso pessoal Azure Databricks e o ID do cluster.
Você pode inicializar a classe de DatabricksSession várias maneiras:
- Defina os campos
host,tokenecluster_idemDatabricksSession.builder.remote(). - Use a classe do SDK do Databricks
Config. - Especifique um perfil de configuração do Databricks junto com o
cluster_idcampo.
Em vez de especificar essas propriedades de conexão em seu código, o Databricks recomenda configurar propriedades por meio de variáveis de ambiente ou arquivos de configuração, conforme descrito nesta seção. Os exemplos de código seguintes assumem que fornece alguma implementação das funções propostas retrieve_* para obter as propriedades necessárias do utilizador ou de algum outro armazenamento de configuração, como Azure KeyVault.
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()
linguagem de programação Scala
// Set the host, token, and clusterId fields in DatabricksSession.builder.
// If you have already set the DATABRICKS_CLUSTER_ID environment variable with the
// cluster's ID, you do not also need to set the clusterId field here.
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder()
.host(retrieveWorkspaceInstanceName())
.token(retrieveToken())
.clusterId(retrieveClusterId())
.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()
linguagem de programação Scala
// 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 clusterId field here.
import com.databricks.connect.DatabricksSession
import com.databricks.sdk.core.DatabricksConfig
val config = new DatabricksConfig()
.setHost(retrieveWorkspaceInstanceName())
.setToken(retrieveToken())
val spark = DatabricksSession.builder()
.sdkConfig(config)
.clusterId(retrieveClusterId())
.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()
linguagem de programação Scala
// Specify a Databricks configuration profile along with the clusterId 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 clusterId field here.
import com.databricks.connect.DatabricksSession
import com.databricks.sdk.core.DatabricksConfig
val config = new DatabricksConfig()
.setProfile("<profile-name>")
val spark = DatabricksSession.builder()
.sdkConfig(config)
.clusterId(retrieveClusterId())
.getOrCreate()
Um perfil de configuração do Databricks
Para esta opção, crie ou identifique um perfil Azure Databricks configuration contendo o campo cluster_id e quaisquer outros campos necessários para o tipo de autenticação Databricks que pretende usar.
Os campos de perfil de configuração necessários para cada tipo de autenticação são os seguintes:
- Para a autenticação do Azure Databricks token de acesso pessoal:
hostetoken. - Para autenticação OAuth máquina-a-máquina (M2M) (quando suportado):
host,client_ideclient_secret. - Para autenticação OAuth de utilizador para máquina (U2M) (quando suportado):
host. - Para a autenticação do principal de serviço Microsoft Entra ID (anteriormente Azure Active Directory):
host,azure_tenant_id,azure_client_id,azure_client_secrete possivelmenteazure_workspace_resource_id. - Para a autenticação Azure CLI:
host. - Para a autenticação de identidades geridas do Azure (quando suportado),
host,azure_use_msi,azure_client_ide possivelmenteazure_workspace_resource_id.
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
cluster_idcampo no seu perfil de configuração e, em seguida, especifique apenas o nome do perfil de configuração. - Especifique o nome do perfil de configuração juntamente com o
cluster_idcampo.
Se você já tiver definido a DATABRICKS_CLUSTER_ID variável de ambiente com a ID do cluster, também não precisará especificar 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()
linguagem de programação Scala
// Include the cluster_id field in your configuration profile, and then
// just specify the configuration profile's name:
import com.databricks.connect.DatabricksSession
import com.databricks.sdk.core.DatabricksConfig
val config = new DatabricksConfig()
.setProfile("<profile-name>")
val spark = DatabricksSession.builder()
.sdkConfig(config)
.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()
linguagem de programação Scala
// Specify a Databricks configuration profile along with the clusterId 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 clusterId field here.
import com.databricks.connect.DatabricksSession
import com.databricks.sdk.core.DatabricksConfig
val config = new DatabricksConfig()
.setProfile("<profile-name>")
val spark = DatabricksSession.builder()
.sdkConfig(config)
.clusterId(retrieveClusterId())
.getOrCreate()
A DATABRICKS_CONFIG_PROFILE variável de ambiente
Para esta opção, crie ou identifique um perfil Azure Databricks configuration contendo o campo cluster_id e quaisquer outros campos necessários para o tipo de autenticação Databricks que pretende usar.
Se você já tiver definido a DATABRICKS_CLUSTER_ID variável de ambiente com a ID do cluster, também não precisará especificar cluster_id.
Os campos de perfil de configuração necessários para cada tipo de autenticação são os seguintes:
- Para a autenticação do Azure Databricks token de acesso pessoal:
hostetoken. - Para autenticação OAuth máquina-a-máquina (M2M) (quando suportado):
host,client_ideclient_secret. - Para autenticação OAuth de utilizador para máquina (U2M) (quando suportado):
host. - Para a autenticação do principal de serviço Microsoft Entra ID (anteriormente Azure Active Directory):
host,azure_tenant_id,azure_client_id,azure_client_secrete possivelmenteazure_workspace_resource_id. - Para a autenticação Azure CLI:
host. - Para a autenticação de identidades geridas do Azure (quando suportado),
host,azure_use_msi,azure_client_ide possivelmenteazure_workspace_resource_id.
Defina a variável de ambiente DATABRICKS_CONFIG_PROFILE para o nome desse perfil de configuração. Em seguida, inicialize a DatabricksSession classe:
Python
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
linguagem de programação Scala
import com.databricks.connect.DatabricksSession
val 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 quaisquer outras variáveis de ambiente necessárias para o tipo de autenticação Databricks que você deseja usar.
As variáveis de ambiente necessárias para cada tipo de autenticação são as seguintes:
- Para a autenticação do Azure Databricks token de acesso pessoal:
DATABRICKS_HOSTeDATABRICKS_TOKEN. - Para autenticação OAuth máquina-a-máquina (M2M) (quando suportado):
DATABRICKS_HOST,DATABRICKS_CLIENT_IDeDATABRICKS_CLIENT_SECRET. - Para autenticação OAuth de utilizador para máquina (U2M) (quando suportado):
DATABRICKS_HOST. - Para a autenticação do principal de serviço Microsoft Entra ID (anteriormente Azure Active Directory):
DATABRICKS_HOST,ARM_TENANT_ID,ARM_CLIENT_ID,ARM_CLIENT_SECRETe possivelmenteDATABRICKS_AZURE_RESOURCE_ID. - Para a autenticação Azure CLI:
DATABRICKS_HOST. - Para a autenticação de identidades geridas do Azure (quando suportado),
DATABRICKS_HOST,ARM_USE_MSI,ARM_CLIENT_IDe possivelmenteDATABRICKS_AZURE_RESOURCE_ID.
Em seguida, inicialize a DatabricksSession classe:
Python
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
linguagem de programação Scala
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder().getOrCreate()
Um perfil de configuração do Databricks chamado DEFAULT
Para esta opção, crie ou identifique um perfil Azure Databricks configuration contendo o campo cluster_id e quaisquer outros campos necessários para o tipo de autenticação Databricks que pretende usar.
Se você já tiver definido a DATABRICKS_CLUSTER_ID variável de ambiente com a ID do cluster, também não precisará especificar cluster_id.
Os campos de perfil de configuração necessários para cada tipo de autenticação são os seguintes:
- Para a autenticação do Azure Databricks token de acesso pessoal:
hostetoken. - Para autenticação OAuth máquina-a-máquina (M2M) (quando suportado):
host,client_ideclient_secret. - Para autenticação OAuth de utilizador para máquina (U2M) (quando suportado):
host. - Para a autenticação do principal de serviço Microsoft Entra ID (anteriormente Azure Active Directory):
host,azure_tenant_id,azure_client_id,azure_client_secrete possivelmenteazure_workspace_resource_id. - Para a autenticação Azure CLI:
host. - Para a autenticação de identidades geridas do Azure (quando suportado),
host,azure_use_msi,azure_client_ide possivelmenteazure_workspace_resource_id.
Nomeie este perfil DEFAULTde configuração .
Em seguida, inicialize a DatabricksSession classe:
Python
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
linguagem de programação Scala
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder().getOrCreate()
Configurar uma conexão com computação sem servidor
O Databricks Connect para Python e Scala suporta a ligação a computação sem servidor. Para usar este recurso, os requisitos de versão para a ligação ao sem servidor devem estar cumpridos. Consulte Requisitos de uso do Databricks Connect.
Importante
Este recurso tem as seguintes limitações:
- O suporte do Databricks Connect for Scala para computação serverless está em fase Beta.
- A versão do Databricks Connect e a versão do Python ou Scala devem ser compatíveis. Consulte Versões do Databricks Connect.
- Todas as limitações dos Databricks Connect for Python ou Databricks Connect for Scala.
- Todas as limitações de computação sem servidor
No caso de Python, pode configurar uma conexão para computação serverless no seu ambiente local:
Defina a variável de ambiente local
DATABRICKS_SERVERLESS_COMPUTE_IDcomoauto. Se essa variável de ambiente estiver definida, o Databricks Connect ignorará ocluster_id.Em um perfil de configuração localdo Databricks
, defina e, em seguida, faça referência a esse perfil a partir do seu código. [DEFAULT] host = https://my-workspace.cloud.databricks.com/ serverless_compute_id = auto token = dapi123...
Ou para Python ou Scala:
Python
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.serverless().getOrCreate()
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.remote(serverless=True).getOrCreate()
linguagem de programação Scala
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder.serverless().getOrCreate()
Validar a conexão com o Databricks
Para validar se seu ambiente, credenciais padrão e conexão com computação estão configurados corretamente para o Databricks Connect, execute o databricks-connect test comando:
databricks-connect test
Este comando falha com um código de saída diferente de zero e uma mensagem de erro correspondente quando deteta qualquer incompatibilidade na configuração, como quando a versão Databricks Connect é incompatível com a versão de computação sem servidor Databricks. Para obter informações de suporte à versão do Databricks Connect, consulte Versões do Databricks Connect.
No Databricks Connect 14.3 e superior, você também pode validar seu ambiente usando validateSession():
DatabricksSession.builder.validateSession(True).getOrCreate()
Desativar Databricks Connect
Os serviços Databricks Connect (e o Spark Connect subjacente) podem ser desativados em qualquer cluster.
Para desativar o serviço Databricks Connect, defina a seguinte configuração do Spark: no cluster.
spark.databricks.service.server.enabled false