Instalace Databricks Connect pro Scala
Poznámka:
Tento článek popisuje Databricks Connect pro Databricks Runtime 13.3 LTS a vyšší.
Tento článek popisuje, jak nainstalovat Databricks Connect pro Scala. Podívejte se, co je Databricks Connect? Verzi pythonu tohoto článku najdete v tématu Instalace Databricks Connect pro Python.
Požadavky
- Váš cílový pracovní prostor a cluster Azure Databricks musí splňovat požadavky na konfiguraci clusteru pro Databricks Connect.
- Sada Java Development Kit (JDK) nainstalovaná na vývojovém počítači. Databricks doporučuje, aby verze instalace sady JDK, kterou používáte, odpovídala verzi sady JDK ve vašem clusteru Azure Databricks. Informace o verzi sady JDK v clusteru najdete v části Systémové prostředí poznámky k verzi databricks Runtime pro váš cluster. Například
Zulu 8.70.0.23-CA-linux64
odpovídá JDK 8. Viz poznámky k verzi databricks Runtime a verze kompatibility. - Scala nainstalovaná na vývojovém počítači. Databricks doporučuje, aby verze instalace Scala, kterou používáte, odpovídala verzi Scala ve vašem clusteru Azure Databricks. Informace o verzi Scala ve vašem clusteru najdete v části Systémové prostředí poznámky k verzi databricks Runtime pro váš cluster. Viz poznámky k verzi databricks Runtime a verze kompatibility.
- Nástroj pro sestavení Scala na vývojovém počítači, například
sbt
.
Nastavení klienta
Po splnění požadavků pro Databricks Connect proveďte následující kroky a nastavte klienta Databricks Connect.
Krok 1: Přidání odkazu na klienta Databricks Connect
Do souboru sestavení projektu Scala, například
build.sbt
prosbt
Mavenpom.xml
nebobuild.gradle
Gradle, přidejte do klienta Databricks Connect následující odkaz:Sbt
libraryDependencies += "com.databricks" % "databricks-connect" % "14.0.0"
Maven
<dependency> <groupId>com.databricks</groupId> <artifactId>databricks-connect</artifactId> <version>14.0.0</version> </dependency>
Gradle
implementation 'com.databricks.databricks-connect:14.0.0'
Nahraďte
14.0.0
verzí knihovny Databricks Connect, která odpovídá verzi Databricks Runtime ve vašem clusteru. Čísla verzí knihovny Databricks Connect najdete v centrálním úložišti Maven.
Krok 2: Konfigurace vlastností připojení
V této části nakonfigurujete vlastnosti pro navázání připojení mezi Databricks Connect a vzdáleným clusterem Azure Databricks. Mezi tyto vlastnosti patří nastavení pro ověření databricks Connect ve vašem clusteru.
Databricks Connect pro Databricks Runtime 13.3 LTS a vyšší platí pro Scala, Databricks Connect zahrnuje sadu Databricks SDK pro Javu. Tato sada SDK implementuje standard sjednoceného ověřování klienta Databricks, konsolidovaný a konzistentní přístup k ověřování prostřednictvím architektury a kódu programu. Díky tomuto přístupu je nastavení a automatizace ověřování pomocí Azure Databricks centralizovanější a předvídatelnější. Umožňuje nakonfigurovat ověřování Azure Databricks jednou a pak tuto konfiguraci použít napříč několika nástroji a sadami SDK Azure Databricks bez dalších změn konfigurace ověřování.
Poznámka:
Ověřování uživateleM (U2M) OAuth je podporováno v sadě Databricks SDK pro Javu 0.18.0 a novější. Abyste mohli používat ověřování OAuth U2M, budete možná muset aktualizovat nainstalovanou verzi sady Databricks SDK pro Javu na verzi 0.18.0 nebo vyšší. Viz Začínáme se sadou Databricks SDK pro Javu.
Pro ověřování OAuth U2M musíte před spuštěním kódu Scala použít rozhraní příkazového řádku Databricks k ověření. Podívejte se na kurz.
V sadě Databricks SDK pro Javu 0.17.0 a novější se podporuje ověřování OAuth typu počítač-počítač (M2M). Možná budete muset aktualizovat nainstalovanou verzi sady Databricks SDK pro Kód pro Javu na verzi 0.17.0 nebo vyšší, aby bylo možné použít ověřování OAuth U2M. Viz Začínáme se sadou Databricks SDK pro Javu.
Sada Databricks SDK pro Javu zatím neimplementovala ověřování spravovaných identit Azure.
Shromážděte následující vlastnosti konfigurace.
- Název instance pracovního prostoru Azure Databricks. Je to stejné jako hodnota názvu hostitele serveru pro váš cluster. Podrobnosti o připojení pro výpočetní prostředek Azure Databricks najdete v tématu Získání podrobností o připojení.
- ID clusteru. ID clusteru můžete získat z adresy URL. Viz adresa URL a ID clusteru.
- Všechny další vlastnosti, které jsou nezbytné pro podporovaný typ ověřování Databricks. Tyto vlastnosti jsou popsány v této části.
Nakonfigurujte připojení v kódu. Databricks Connect vyhledá vlastnosti konfigurace v následujícím pořadí, dokud je nenajde. Jakmile je najde, přestane prohledávat zbývající možnosti. Podrobnosti o jednotlivých možnostech se zobrazí za následující tabulkou:
Možnost vlastností konfigurace Platí pro 1. Metoda DatabricksSession
třídyremote()
Pouze ověřování tokenů pat azure Databricks 2. Konfigurační profil Azure Databricks Všechny typy ověřování Azure Databricks 3. Proměnná SPARK_REMOTE
prostředíPouze ověřování tokenů pat azure Databricks 4. Proměnná DATABRICKS_CONFIG_PROFILE
prostředíVšechny typy ověřování Azure Databricks 5. Proměnná prostředí pro každou vlastnost konfigurace Všechny typy ověřování Azure Databricks 6. Konfigurační profil Azure Databricks s názvem DEFAULT
Všechny typy ověřování Azure Databricks DatabricksSession
Metoda třídyremote()
Pro tuto možnost, která se vztahuje pouze na ověřování osobního přístupového tokenu Azure Databricks, zadejte název instance pracovního prostoru, osobní přístupový token Azure Databricks a ID clusteru.
Třídu můžete inicializovat
DatabricksSession
několika způsoby následujícím způsobem:- Nastavte pole
host
atoken
clusterId
pole vDatabricksSession.builder
. - Použijte třídu sady Databricks SDK
Config
. - Zadejte konfigurační profil Databricks spolu s polem
clusterId
.
Databricks nedoporučuje přímo zadávat tyto vlastnosti připojení v kódu. Databricks místo toho doporučuje 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
retrieve*
funkcí sami, abyste získali potřebné vlastnosti od uživatele nebo z jiného úložiště konfigurace, jako je Azure KeyVault.Kód pro každý z těchto přístupů je následující:
// 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() // 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() // 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()
- Nastavte pole
Konfigurační profil Azure Databricks
Pro tuto možnost vytvořte nebo identifikujte konfigurační profil Azure Databricks obsahující pole
cluster_id
a všechna další pole, která jsou nezbytná pro podporovaný 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í osobního přístupového tokenu Azure Databricks:
host
atoken
. - Pro ověřování M2M (machine-to-machine) OAuth (kde je podporováno):
host
,client_id
aclient_secret
. - Pro ověřování uživatele AAuth (U2M) (kde je to podporováno):
host
- Pro ověřování
host
instančního objektu služby Microsoft Entra ID (dříve Azure Active Directory): ,azure_tenant_id
,azure_client_id
azure_client_secret
a 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_id
, a případněazure_workspace_resource_id
.
Potom nastavte název tohoto konfiguračního profilu prostřednictvím
DatabricksConfig
třídy.Můžete zadat
cluster_id
několika způsoby následujícím způsobem:- Do konfiguračního
cluster_id
profilu zahrňte pole a zadejte název konfiguračního profilu. - Zadejte název konfiguračního profilu spolu s polem
clusterId
.
Pokud jste už nastavili proměnnou
DATABRICKS_CLUSTER_ID
prostředí s ID clusteru, nemusíte ani zadávatcluster_id
clusterId
pole.Kód pro každý z těchto přístupů je následující:
// 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() // Specify the configuration profile name along with the clusterId field. // In this example, retrieveClusterId() assumes some custom implementation that // you provide to get the cluster ID from the user or from some other // configuration store: 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()
- Pro ověřování osobního přístupového tokenu Azure Databricks:
Proměnná
SPARK_REMOTE
prostředíPro tuto možnost, která se vztahuje pouze na ověřování tokenů pat pro Azure Databricks, nastavte
SPARK_REMOTE
proměnnou prostředí na následující řetězec a nahraďte zástupné symboly příslušnými hodnotami.sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>
Pak inicializovat
DatabricksSession
třídu následujícím způsobem:import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder().getOrCreate()
Pokud chcete nastavit proměnné prostředí, přečtěte si dokumentaci k vašemu operačnímu systému.
Proměnná
DATABRICKS_CONFIG_PROFILE
prostředíPro tuto možnost vytvořte nebo identifikujte konfigurační profil Azure Databricks obsahující pole
cluster_id
a všechna další pole, která jsou nezbytná pro podporovaný 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ávatcluster_id
.Pole požadovaného konfiguračního profilu pro každý typ ověřování jsou následující:
- Pro ověřování osobního přístupového tokenu Azure Databricks:
host
atoken
. - Pro ověřování M2M (machine-to-machine) OAuth (kde je podporováno):
host
,client_id
aclient_secret
. - Pro ověřování uživatele AAuth (U2M) (kde je to podporováno):
host
- Pro ověřování
host
instančního objektu služby Microsoft Entra ID (dříve Azure Active Directory): ,azure_tenant_id
,azure_client_id
azure_client_secret
a 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_id
, a případněazure_workspace_resource_id
.
Nastavte proměnnou
DATABRICKS_CONFIG_PROFILE
prostředí na název tohoto konfiguračního profilu. Pak inicializovatDatabricksSession
třídu následujícím způsobem:import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder().getOrCreate()
Pokud chcete nastavit proměnné prostředí, přečtěte si dokumentaci k vašemu operačnímu systému.
- Pro ověřování osobního přístupového tokenu Azure Databricks:
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 podporovaný 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í osobního přístupového tokenu Azure Databricks:
DATABRICKS_HOST
aDATABRICKS_TOKEN
. - Pro ověřování M2M (machine-to-machine) OAuth (kde je podporováno):
DATABRICKS_HOST
,DATABRICKS_CLIENT_ID
aDATABRICKS_CLIENT_SECRET
. - Pro ověřování uživatele AAuth (U2M) (kde je to podporováno):
DATABRICKS_HOST
- Pro ověřování
DATABRICKS_HOST
instančního objektu služby Microsoft Entra ID (dříve Azure Active Directory): ,ARM_TENANT_ID
,ARM_CLIENT_ID
ARM_CLIENT_SECRET
a 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_ID
, a případněDATABRICKS_AZURE_RESOURCE_ID
.
Pak inicializovat
DatabricksSession
třídu následujícím způsobem:import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder().getOrCreate()
Pokud chcete nastavit proměnné prostředí, přečtěte si dokumentaci k vašemu operačnímu systému.
- Pro ověřování osobního přístupového tokenu Azure Databricks:
Konfigurační profil Azure Databricks s názvem
DEFAULT
Pro tuto možnost vytvořte nebo identifikujte konfigurační profil Azure Databricks obsahující pole
cluster_id
a všechna další pole, která jsou nezbytná pro podporovaný 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ávatcluster_id
.Pole požadovaného konfiguračního profilu pro každý typ ověřování jsou následující:
- Pro ověřování osobního přístupového tokenu Azure Databricks:
host
atoken
. - Pro ověřování M2M (machine-to-machine) OAuth (kde je podporováno):
host
,client_id
aclient_secret
. - Pro ověřování uživatele AAuth (U2M) (kde je to podporováno):
host
- Pro ověřování
host
instančního objektu služby Microsoft Entra ID (dříve Azure Active Directory): ,azure_tenant_id
,azure_client_id
azure_client_secret
a 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_id
, a případněazure_workspace_resource_id
.
Pojmenujte tento konfigurační profil
DEFAULT
.Pak inicializovat
DatabricksSession
třídu následujícím způsobem:scala import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder().getOrCreate()
- Pro ověřování osobního přístupového tokenu Azure Databricks: