Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
Esse artigo aborda o Databricks Connect para Databricks Runtime 13.3 LTS e superior.
Esta página descreve diferentes maneiras de configurar uma conexão entre o Databricks Connect e seu Azure Databricks cluster ou computação sem servidor.
O Databricks Connect permite conectar IDEs populares, como Visual Studio Code, PyCharm, RStudio Desktop, IntelliJ IDEA, servidores de notebook e outros aplicativos personalizados para Azure Databricks clusters. Consulte Databricks Connect.
Instalação
Antes de começar, você precisa do seguinte:
- Databricks Connect instalado. Para obter os requisitos de instalação, consulte os requisitos de uso do Databricks Connect.
- O nome da instância Azure Databricks workspace. Este é o valor do Nome de host do servidor para seu serviço de computação. Consulte Obter detalhes de conexão para um recurso de computação do Azure Databricks.
- Se você estiver se conectando à computação clássica, o identificador do cluster. Você pode recuperar o identificador do cluster a partir da URL. Consulte a URL e a 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 pesquisa propriedades de configuração na ordem a seguir e usa a primeira configuração encontrada. Para obter informações avançadas de configuração, consulte Uso avançado do Databricks Connect.
- O método remoto() 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 essa opção, que se aplica a Authenticate com Azure Databricks tokens de acesso pessoal (herdado) apenas, especifique o nome da instância do workspace, o token de acesso pessoal Azure Databricks e a ID do cluster.
Você pode inicializar a DatabricksSession classe de várias maneiras:
- Defina os campos
host,tokenecluster_idemDatabricksSession.builder.remote(). - Use a classe do SDK do
ConfigDatabricks. - Especifique um perfil de configuração do Databricks junto com o campo
cluster_id.
Em vez de especificar essas propriedades de conexão em seu código, o 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 de retrieve_* propostas para obter as propriedades necessárias do usuário ou de algum outro repositório 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()
Scala (linguagem de programação)
// 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()
Scala (linguagem de programação)
// 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()
Scala (linguagem de programação)
// 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 essa opção, crie ou identifique um perfil de Azure Databricks configuração que contém o campo cluster_id e quaisquer outros campos necessários para o tipo de autenticação Databricks que você deseja usar.
Os campos de perfil de configuração necessários para cada tipo de autenticação são os seguintes:
- Para a autenticação de token de acesso pessoal do Azure Databricks :
hostetoken. - Para aautenticação OAuth de máquina a máquina (M2M) (quando compatível):
host,client_id, eclient_secret. - Para a Autenticação usuário para computador (U2M) do OAuth (onde compatível):
host. - Para Microsoft Entra ID (anteriormente Azure Active Directory) autenticação de entidade de serviço:
host,azure_tenant_id,azure_client_id,azure_client_secrete possivelmenteazure_workspace_resource_id. - Para autenticação do CLI do Azure:
host. - Para autenticação de identidades gerenciadas do Azure (onde há suporte):
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 perfil de configuração e especifique o nome do perfil de configuração. - Especifique o nome do perfil de configuração junto com o campo
cluster_id.
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()
Scala (linguagem de programação)
// 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()
Scala (linguagem de programação)
// 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 variável de ambiente DATABRICKS_CONFIG_PROFILE
Para essa opção, crie ou identifique um perfil de Azure Databricks configuração que contém o campo cluster_id e quaisquer outros campos necessários para o tipo de autenticação Databricks que você deseja 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 autenticação por token de acesso pessoal do Azure Databricks:
hostetoken. - Para aautenticação OAuth de máquina a máquina (M2M) (quando compatível):
host,client_id, eclient_secret. - Para a Autenticação usuário para computador (U2M) do OAuth (onde compatível):
host. - Para autenticação de principal de serviço do Microsoft Entra ID (anteriormente Azure Active Directory):
host,azure_tenant_id,azure_client_id,azure_client_secrete possivelmenteazure_workspace_resource_id. - Para autenticação do CLI do Azure:
host. - Para autenticação de identidades gerenciadas do Azure (onde há suporte):
host,azure_use_msi,azure_client_ide possivelmenteazure_workspace_resource_id.
Defina a variável de ambiente DATABRICKS_CONFIG_PROFILE para o nome do perfil de configuração personalizado. Em seguida, inicialize a DatabricksSession classe:
Python
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Scala (linguagem de programação)
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 do Databricks que você deseja usar.
As variáveis de ambiente necessárias para cada tipo de autenticação são as seguintes:
- Para autenticação de token de acesso pessoal do Azure Databricks
: e . - Para aautenticação OAuth de máquina a máquina (M2M) (quando compatível):
DATABRICKS_HOST,DATABRICKS_CLIENT_ID, eDATABRICKS_CLIENT_SECRET. - Para a Autenticação usuário para computador (U2M) do OAuth (onde compatível):
DATABRICKS_HOST. - Para Microsoft Entra ID (anteriormente Azure Active Directory) autenticação de entidade de serviço:
DATABRICKS_HOST,ARM_TENANT_ID,ARM_CLIENT_ID,ARM_CLIENT_SECRETe possivelmenteDATABRICKS_AZURE_RESOURCE_ID. - Para autenticação do CLI do Azure:
DATABRICKS_HOST. - Para autenticação de identidades gerenciadas do Azure (onde há suporte):
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()
Scala (linguagem de programação)
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder().getOrCreate()
Um perfil de configuração do Databricks chamado DEFAULT
Para essa opção, crie ou identifique um perfil de Azure Databricks configuração que contém o campo cluster_id e quaisquer outros campos necessários para o tipo de autenticação Databricks que você deseja 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 de token de acesso pessoal do Azure Databricks:
hostetoken. - Para aautenticação OAuth de máquina a máquina (M2M) (quando compatível):
host,client_id, eclient_secret. - Para a Autenticação usuário para computador (U2M) do OAuth (onde compatível):
host. - Para Microsoft Entra ID (anteriormente Azure Active Directory) autenticação de principal de serviço:
host,azure_tenant_id,azure_client_id,azure_client_secrete possivelmenteazure_workspace_resource_id. - Para autenticação do CLI do Azure:
host. - Para autenticação de identidades gerenciadas do Azure (quando suportado):
host,azure_use_msi,azure_client_ide possivelmenteazure_workspace_resource_id.
Nomeie esse perfil de configuração DEFAULT.
Em seguida, inicialize a DatabricksSession classe:
Python
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Scala (linguagem de programação)
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder().getOrCreate()
Configurar uma conexão com a computação sem servidor
O Databricks Connect para Python e o Scala dão suporte à conexão à computação sem servidor. Para usar esse recurso, os requisitos de versão para se conectar ao sem servidor devem ser atendidos. Consulte os requisitos de uso do Databricks Connect.
Importante
Este recurso tem as seguintes limitações:
- O suporte do Databricks Connect para Scala para computação sem servidor está em Beta.
- A versão do Databricks Connect e a versão de Python ou Scala devem ser compatíveis. Consulte as versões do Databricks Connect.
- Todas as limitações do Databricks Connect para Python ou Databricks Connect para Scala.
- Todas as limitações da computação sem servidor
Para Python, você pode configurar uma conexão com a computação sem servidor em seu ambiente local:
Defina a variável de ambiente local
DATABRICKS_SERVERLESS_COMPUTE_IDcomoauto. Se a variável de ambiente estiver definida, o Databricks Connect ignorará ocluster_id.Em um perfil de configuração local do Databricks, defina
serverless_compute_id = autoe faça referência a esse perfil 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()
Scala (linguagem de programação)
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder.serverless().getOrCreate()
Validar a conexão com o Databricks
Para validar se o ambiente, as credenciais padrão e a conexão com a computação estão configurados corretamente para o Databricks Connect, execute o databricks-connect test comando:
databricks-connect test
Esse comando falha com um código de saída diferente de zero e uma mensagem de erro correspondente quando detecta qualquer incompatibilidade na instalação, como quando a versão do Databricks Connect é incompatível com a versão de computação sem servidor do 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()
Desabilitar o Databricks Connect
Os serviços do Databricks Connect (e do Spark Connect subjacente) podem ser desabilitados em qualquer cluster específico.
Para desabilitar o serviço do Databricks Connect, defina a seguinte configuração do Spark no cluster.
spark.databricks.service.server.enabled false