Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Tento článek popisuje Databricks Connect pro Databricks Runtime 13.3 LTS a vyšší.
Tato stránka popisuje různé způsoby konfigurace připojení mezi službou Databricks Connect a vaším Azure Databricks cluster nebo serverless compute.
Databricks Connect umožňuje připojit k Azure Databricks clusterům oblíbená prostředí IDE, jako jsou Visual Studio Code, PyCharm, RStudio Desktop, IntelliJ IDEA, servery poznámkových bloků a další vlastní aplikace. Viz Databricks Connect.
Nastavení
Než začnete, budete potřebovat následující:
- Nainstalovali jste Databricks Connect. Požadavky na instalaci najdete v tématu Požadavky na využití služby Databricks Connect.
- Název instance pracovního prostoru Azure Databricks . Toto je hodnota názvu serveru hostitele pro váš systém. Viz Podrobnosti o připojení pro výpočetní prostředek Azure Databricks.
- Pokud se připojujete ke klasickému výpočetnímu prostředí, ID clusteru. ID clusteru můžete načíst z adresy URL. Viz Adresa URL a ID výpočetního prostředku.
Konfigurace připojení ke clusteru
Existuje několik způsobů, jak nakonfigurovat připojení ke clusteru. Databricks Connect vyhledá vlastnosti konfigurace v následujícím pořadí a použije první nalezenou konfiguraci. Pokročilé informace o konfiguraci najdete v tématu Pokročilé využití služby Databricks Connect.
- Metoda remote() třídy DatabricksSession.
- Konfigurační profil Databricks
- Proměnná prostředí DATABRICKS_CONFIG_PROFILE
- Proměnná prostředí pro každou vlastnost konfigurace
- Konfigurační profil Databricks s názvem DEFAULT
DatabricksSession Metoda třídy remote()
Pro tuto možnost, která platí pouze pro Ověřit pomocí osobních přístupových tokenů Azure Databricks (starší verze), zadejte název instance pracovního prostoru, osobní přístupový token Azure Databricks a ID clusteru.
Třídu DatabricksSession můžete inicializovat několika způsoby:
- Nastavte pole
host,tokenacluster_idvDatabricksSession.builder.remote(). - Použijte třídu SDK Databricks
Config. - Zadejte konfigurační profil Databricks spolu s polem
cluster_id.
Místo zadávání těchto vlastností připojení v kódu doporučuje Databricks konfigurovat vlastnosti prostřednictvím proměnných prostředí nebo konfiguračních souborů, jak je popsáno v této části. Následující příklady kódu předpokládají, že zadáte určitou implementaci navrhovaných funkcí retrieve_*, abyste získali potřebné vlastnosti od uživatele nebo z jiného úložiště konfigurace, například Azure KeyVault.
Kód pro každý z těchto přístupů je následující:
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
// 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
// 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
// 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()
Konfigurační profil Databricks
Pro tuto možnost vytvořte nebo identifikujte profil konfigurace Azure Databricks obsahující pole cluster_id a všechna další pole nezbytná pro typ ověřování Databricks, která chcete použít.
Pole požadovaného konfiguračního profilu pro každý typ ověřování jsou následující:
- Pro ověřování tokenu Azure Databricks personal access token:
hostatoken. - Pro autentizaci OAuth stroj-stroj (machine-to-machine), kde je to podporováno:
host,client_idaclient_secret. - Pro OAuth ověřování uživatele na stroj (U2M) (kde je to podporováno):
host. - Pro autentizaci objektu služby Microsoft Entra ID (dříve Azure Active Directory):
host,azure_tenant_id,azure_client_id,azure_client_secreta případněazure_workspace_resource_id. - Pro ověřování Azure CLI:
host. - Ověřování spravovaných identit Azure (kde je podporováno):
host,azure_use_msi,azure_client_ida případněazure_workspace_resource_id.
Potom nastavte název tohoto konfiguračního profilu prostřednictvím třídy konfigurace.
Můžete zadat cluster_id několika způsoby:
- Do konfiguračního
cluster_idprofilu zahrňte pole a zadejte název konfiguračního profilu. - Zadejte název konfiguračního profilu spolu s polem
cluster_id.
Pokud jste již nastavili proměnnou DATABRICKS_CLUSTER_ID prostředí s ID clusteru, nemusíte také zadávat cluster_id.
Kód pro každý z těchto přístupů je následující:
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
// 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
// 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()
Proměnná DATABRICKS_CONFIG_PROFILE prostředí
Pro tuto možnost vytvořte nebo identifikujte profil konfigurace Azure Databricks obsahující pole cluster_id a všechna další pole nezbytná pro typ ověřování Databricks, která chcete použít.
Pokud jste již nastavili proměnnou DATABRICKS_CLUSTER_ID prostředí s ID clusteru, nemusíte také zadávat cluster_id.
Pole požadovaného konfiguračního profilu pro každý typ ověřování jsou následující:
- Pro ověřování tokenu Azure Databricks personal access token:
hostatoken. - Pro autentizaci OAuth stroj-stroj (machine-to-machine), kde je to podporováno:
host,client_idaclient_secret. - Pro OAuth ověřování uživatele na stroj (U2M) (kde je to podporováno):
host. - Pro autentizaci objektu služby Microsoft Entra ID (dříve Azure Active Directory):
host,azure_tenant_id,azure_client_id,azure_client_secreta případněazure_workspace_resource_id. - Pro ověřování Azure CLI:
host. - Ověřování spravovaných identit Azure (kde je podporováno):
host,azure_use_msi,azure_client_ida případněazure_workspace_resource_id.
Nastavte proměnnou DATABRICKS_CONFIG_PROFILE prostředí na název tohoto konfiguračního profilu. Potom inicializujete DatabricksSession třídu:
Python
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Scala
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder().getOrCreate()
Proměnná prostředí pro každou vlastnost konfigurace
Pro tuto možnost nastavte proměnnou DATABRICKS_CLUSTER_ID prostředí a všechny další proměnné prostředí, které jsou nezbytné pro typ ověřování Databricks, který chcete použít.
Požadované proměnné prostředí pro každý typ ověřování jsou následující:
- Pro ověřování tokenu Azure Databricks personal access token:
DATABRICKS_HOSTaDATABRICKS_TOKEN. - Pro autentizaci OAuth stroj-stroj (machine-to-machine), kde je to podporováno:
DATABRICKS_HOST,DATABRICKS_CLIENT_IDaDATABRICKS_CLIENT_SECRET. - Pro OAuth ověřování uživatele na stroj (U2M) (kde je to podporováno):
DATABRICKS_HOST. - Pro autentizaci objektu služby Microsoft Entra ID (dříve Azure Active Directory):
DATABRICKS_HOST,ARM_TENANT_ID,ARM_CLIENT_ID,ARM_CLIENT_SECRETa případněDATABRICKS_AZURE_RESOURCE_ID. - Pro ověřování Azure CLI:
DATABRICKS_HOST. - Ověřování spravovaných identit Azure (kde je podporováno):
DATABRICKS_HOST,ARM_USE_MSI,ARM_CLIENT_IDa případněDATABRICKS_AZURE_RESOURCE_ID.
Potom inicializujete DatabricksSession třídu:
Python
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Scala
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder().getOrCreate()
Konfigurační profil Databricks s názvem DEFAULT
Pro tuto možnost vytvořte nebo identifikujte profil konfigurace Azure Databricks obsahující pole cluster_id a všechna další pole nezbytná pro typ ověřování Databricks, která chcete použít.
Pokud jste již nastavili proměnnou DATABRICKS_CLUSTER_ID prostředí s ID clusteru, nemusíte také zadávat cluster_id.
Pole požadovaného konfiguračního profilu pro každý typ ověřování jsou následující:
- Pro ověřování tokenu Azure Databricks personal access token:
hostatoken. - Pro autentizaci OAuth stroj-stroj (machine-to-machine), kde je to podporováno:
host,client_idaclient_secret. - Pro OAuth ověřování uživatele na stroj (U2M) (kde je to podporováno):
host. - Pro autentizaci objektu služby Microsoft Entra ID (dříve Azure Active Directory):
host,azure_tenant_id,azure_client_id,azure_client_secreta případněazure_workspace_resource_id. - Pro ověřování Azure CLI:
host. - Ověřování spravovaných identit Azure (kde je podporováno):
host,azure_use_msi,azure_client_ida případněazure_workspace_resource_id.
Pojmenujte tento konfigurační profil DEFAULT.
Potom inicializujete DatabricksSession třídu:
Python
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Scala
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder().getOrCreate()
Konfigurace připojení k bezserverovým výpočetním prostředkům
Databricks Connect pro Python a Scala podporují připojení k bezserverové výpočetní službě. Aby bylo možné tuto funkci používat, musí být splněny požadavky na verzi pro připojení k bezserverové aplikaci. Viz požadavky na využití Databricks Connect.
Důležité
Tato funkce má následující omezení:
- Podpora funkce Databricks Connect pro Scala pro bezserverové výpočetní prostředky je v beta verzi.
- Verze Databricks Connect a verze Python nebo Scala musí být kompatibilní. Podívejte se na verze systému Databricks Connect.
- Všechna omezení Databricks Connect pro Python nebo Databricks Connect pro Scala.
- Všechna omezení výpočetních prostředků bez serveru
Pro Python můžete nakonfigurovat připojení k bezserverovým výpočetním prostředkům v místním prostředí:
Nastavte místní proměnnou
DATABRICKS_SERVERLESS_COMPUTE_IDprostředí naautohodnotu . Pokud je tato proměnná prostředí nastavená, Databricks Connect ignorujecluster_id.V místním konfiguračním profilu Databricks nastavte
serverless_compute_id = autoa potom na tento profil odkazujte z vašeho kódu.[DEFAULT] host = https://my-workspace.cloud.databricks.com/ serverless_compute_id = auto token = dapi123...
Nebo pro Python nebo 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
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder.serverless().getOrCreate()
Ověření připojení k Databricks
Spuštěním databricks-connect test příkazu ověřte, že vaše prostředí, výchozí přihlašovací údaje a připojení k výpočetním prostředkům jsou správně nastavené pro Databricks Connect:
databricks-connect test
Tento příkaz selže s nenulovým ukončovacím kódem a odpovídající chybovou zprávou, když zjistí jakoukoli nekompatibilitu v instalačním programu, například když je verze Databricks Connect nekompatibilní s bezserverovou výpočetní verzí Databricks. Informace o podpoře verze Databricks Connect najdete v tématu Verze Databricks Connect.
Ve službě Databricks Connect 14.3 a vyšší můžete také ověřit své prostředí pomocí validateSession():
DatabricksSession.builder.validateSession(True).getOrCreate()
Zakázání služby Databricks Connect
Databricks Connect (a základní služby Spark Connect) je možné zakázat v jakémkoli daném clusteru.
Pokud chcete zakázat službu Databricks Connect, nastavte v clusteru následující konfiguraci Sparku.
spark.databricks.service.server.enabled false