A Databricks Csatlakozás telepítése Scalához
Feljegyzés
Ez a cikk a Databricks-Csatlakozás a Databricks Runtime 13.3 LTS-hez és újabb verziókhoz.
Ez a cikk a Databricks Csatlakozás Scalához való telepítését ismerteti. Lásd: Mi az a Databricks Csatlakozás?. A cikk Python-verziójáról a Databricks Csatlakozás Pythonhoz való telepítése című témakörben olvashat.
Követelmények
- A cél Azure Databricks-munkaterületnek és -fürtnek meg kell felelnie a Databricks-Csatlakozás fürtkonfigurációjának követelményeinek.
- A fejlesztői gépre telepített Java Development Kit (JDK). A Databricks azt javasolja, hogy a JDK-telepítés használt verziója egyezzen az Azure Databricks-fürt JDK-verziójával. A fürt JDK-verziójának megkereséséhez tekintse meg a fürt Databricks Runtime kibocsátási megjegyzéseinek "Rendszerkörnyezet" szakaszát. Például
Zulu 8.70.0.23-CA-linux64
a JDK 8-nak felel meg. Lásd a Databricks Runtime kibocsátási megjegyzéseinek verzióit és kompatibilitását. - A scala telepítve van a fejlesztőgépen. A Databricks azt javasolja, hogy az Ön által használt Scala-telepítés verziója egyezzen az Azure Databricks-fürt Scala-verziójával. Ha meg szeretné keresni a Scala-verziót a fürtön, tekintse meg a fürt Databricks Runtime kibocsátási megjegyzéseinek "Rendszerkörnyezet" szakaszát. Lásd a Databricks Runtime kibocsátási megjegyzéseinek verzióit és kompatibilitását.
- Scala buildelési eszköz a fejlesztői gépen, például
sbt
.
Az ügyfél beállítása
Miután teljesítette a Databricks Csatlakozás követelményeit, hajtsa végre az alábbi lépéseket a Databricks Csatlakozás-ügyfél beállításához.
1. lépés: Hivatkozás hozzáadása a Databricks Csatlakozás-ügyfélhez
A Scala-projekt buildfájljában, például
build.sbt
sbt
pom.xml
a Mavenhez vagybuild.gradle
a Gradle-hez, adja hozzá a következő hivatkozást a Databricks Csatlakozás-ügyfélhez: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'
Cserélje le
14.0.0
a Databricks Csatlakozás könyvtár azon verziójára, amely megfelel a fürt Databricks Runtime-verziójának. A Databricks Csatlakozás kódtár verziószámait a Maven központi adattárában találja.
2. lépés: Kapcsolat tulajdonságainak konfigurálása
Ebben a szakaszban tulajdonságokat konfigurál, hogy kapcsolatot létesítsen a Databricks Csatlakozás és a távoli Azure Databricks-fürt között. Ezek a tulajdonságok közé tartoznak a Databricks Csatlakozás fürttel való hitelesítésére vonatkozó beállítások.
A Databricks Csatlakozás a Databricks Runtime 13.3 LTS-hez és újabb verziókhoz a Scala esetében a Databricks Csatlakozás tartalmazza a Java Databricks SDK-t. Ez az SDK implementálja a Databricks-ügyfél egységes hitelesítési szabványát, a hitelesítés konszolidált és konzisztens architekturális és programozott megközelítését. Ez a megközelítés központosítottabbá és kiszámíthatóbbá teszi az Azure Databricks-hitelesítés beállítását és automatizálását. Lehetővé teszi, hogy az Azure Databricks-hitelesítést egyszer konfigurálja, majd ezt a konfigurációt több Azure Databricks-eszközön és SDK-ban használja további hitelesítési konfigurációmódosítások nélkül.
Feljegyzés
Az OAuth felhasználó–gép (U2M) hitelesítés a Java 0.18.0-s és újabb verziókhoz készült Databricks SDK-n támogatott. Előfordulhat, hogy az OAuth U2M-hitelesítés használatához frissítenie kell a kódprojekt Java-hoz készült Databricks SDK telepített verzióját 0.18.0-s vagy újabb verzióra. Tekintse meg a Java Databricks SDK használatának első lépéseit.
OAuth U2M-hitelesítés esetén a Scala-kód futtatása előtt a Databricks parancssori felületét kell használnia a hitelesítéshez. Lásd az oktatóanyagot.
Az OAuth machine-to-machine (M2M) hitelesítés a Java 0.17.0-s és újabb verziókhoz készült Databricks SDK-n támogatott. Előfordulhat, hogy az OAuth U2M-hitelesítés használatához frissítenie kell a kódprojekt Java-hoz készült Databricks SDK telepített verzióját 0.17.0-s vagy újabb verzióra. Tekintse meg a Java Databricks SDK használatának első lépéseit.
A Java Databricks SDK még nem implementálta az Azure által felügyelt identitások hitelesítését.
Gyűjtse össze a következő konfigurációs tulajdonságokat.
- Az Azure Databricks-munkaterület példányának neve. Ez megegyezik a fürt kiszolgálói állomásnév értékével; lásd : Kapcsolatadatok lekérése egy Azure Databricks számítási erőforráshoz.
- A fürt azonosítója. A fürtazonosítót az URL-címről szerezheti be. Lásd a fürt URL-címét és azonosítóját.
- A támogatott Databricks-hitelesítési típushoz szükséges egyéb tulajdonságok. Ezeket a tulajdonságokat ebben a szakaszban ismertetjük.
Konfigurálja a kapcsolatot a kódban. A Databricks Csatlakozás a konfigurációs tulajdonságokat az alábbi sorrendben keresi, amíg meg nem találja őket. Miután megtalálta őket, leállítja a keresést a fennmaradó lehetőségek között. Az egyes beállítások részletei a következő táblázat után jelennek meg:
Konfigurációs tulajdonságok beállítás A következőre érvényes: 1. Az DatabricksSession
osztály metódusaremote()
Csak Az Azure Databricks személyes hozzáférési jogkivonatának hitelesítése 2. Azure Databricks-konfigurációs profil Minden Azure Databricks-hitelesítési típus 3. A SPARK_REMOTE
környezeti változóCsak Az Azure Databricks személyes hozzáférési jogkivonatának hitelesítése 4. A DATABRICKS_CONFIG_PROFILE
környezeti változóMinden Azure Databricks-hitelesítési típus 5. Környezeti változó minden konfigurációs tulajdonsághoz Minden Azure Databricks-hitelesítési típus 6. Egy Azure Databricks konfigurációs profil neve DEFAULT
Minden Azure Databricks-hitelesítési típus Az
DatabricksSession
osztály metódusaremote()
Ebben a beállításban, amely csak az Azure Databricks személyes hozzáférési jogkivonatának hitelesítésére vonatkozik, adja meg a munkaterületpéldány nevét, az Azure Databricks személyes hozzáférési jogkivonatát és a fürt azonosítóját.
Az osztályt
DatabricksSession
többféleképpen inicializálhatja az alábbiak szerint:- Állítsa be a
host
,token
ésclusterId
a mezőket a következőbenDatabricksSession.builder
: . - Használja a Databricks SDK osztályát
Config
. - Adjon meg egy Databricks-konfigurációs profilt a
clusterId
mezővel együtt.
A Databricks nem javasolja, hogy közvetlenül adja meg ezeket a kapcsolati tulajdonságokat a kódban. Ehelyett a Databricks a tulajdonságok környezeti változókon vagy konfigurációs fájlokon keresztül történő konfigurálását javasolja az ebben a szakaszban ismertetett módon. Az alábbi példakódok feltételezik, hogy a javasolt
retrieve*
függvények implementálását saját maga biztosítja, hogy a szükséges tulajdonságokat a felhasználótól vagy más konfigurációs tárból, például az Azure KeyVaultból szerezze be.Az egyes megközelítések kódja a következő:
// 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()
- Állítsa be a
Azure Databricks-konfigurációs profil
Ebben a beállításban hozzon létre vagy azonosítsa az Azure Databricks konfigurációs profilját , amely tartalmazza a mezőt
cluster_id
és a használni kívánt támogatott Databricks-hitelesítési típushoz szükséges egyéb mezőket.Az egyes hitelesítési típusokhoz szükséges konfigurációs profilmezők a következők:
- Az Azure Databricks személyes hozzáférési jogkivonatának hitelesítése esetén:
host
éstoken
. - OAuth machine-to-machine (M2M) hitelesítéshez (ahol támogatott):
host
,client_id
ésclient_secret
. - OAuth felhasználó–gép (U2M) hitelesítés esetén (ahol támogatott):
host
. - A Microsoft Entra ID (korábbi nevén Azure Active Directory) szolgáltatásnév-hitelesítéséhez:
host
,azure_tenant_id
,azure_client_id
,azure_client_secret
és esetlegazure_workspace_resource_id
. - Azure CLI-hitelesítés esetén:
host
. - Azure-beli felügyelt identitások hitelesítéséhez (ahol támogatott):
host
,azure_use_msi
,azure_client_id
, és esetlegazure_workspace_resource_id
.
Ezután állítsa be a konfigurációs profil nevét az
DatabricksConfig
osztályon keresztül.Többféleképpen is megadható
cluster_id
, az alábbiak szerint:- Adja meg a mezőt a
cluster_id
konfigurációs profilban, majd adja meg a konfigurációs profil nevét. - Adja meg a konfigurációs profil nevét a
clusterId
mezővel együtt.
Ha már beállította a
DATABRICKS_CLUSTER_ID
környezeti változót a fürt azonosítójával, akkor nem kell megadnia a mezőket vagyclusterId
acluster_id
mezőket sem.Az egyes megközelítések kódja a következő:
// 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()
- Az Azure Databricks személyes hozzáférési jogkivonatának hitelesítése esetén:
A
SPARK_REMOTE
környezeti változóEbben a beállításban, amely csak az Azure Databricks személyes hozzáférési jogkivonatának hitelesítésére vonatkozik, állítsa a
SPARK_REMOTE
környezeti változót a következő sztringre, és cserélje le a helyőrzőket a megfelelő értékekkel.sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>
Ezután inicializálja az osztályt az
DatabricksSession
alábbiak szerint:import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder().getOrCreate()
A környezeti változók beállításához tekintse meg az operációs rendszer dokumentációját.
A
DATABRICKS_CONFIG_PROFILE
környezeti változóEbben a beállításban hozzon létre vagy azonosítsa az Azure Databricks konfigurációs profilját , amely tartalmazza a mezőt
cluster_id
és a használni kívánt támogatott Databricks-hitelesítési típushoz szükséges egyéb mezőket.Ha már beállította a
DATABRICKS_CLUSTER_ID
környezeti változót a fürt azonosítójával, akkor nem kell megadniacluster_id
.Az egyes hitelesítési típusokhoz szükséges konfigurációs profilmezők a következők:
- Az Azure Databricks személyes hozzáférési jogkivonatának hitelesítése esetén:
host
éstoken
. - OAuth machine-to-machine (M2M) hitelesítéshez (ahol támogatott):
host
,client_id
ésclient_secret
. - OAuth felhasználó–gép (U2M) hitelesítés esetén (ahol támogatott):
host
. - A Microsoft Entra ID (korábbi nevén Azure Active Directory) szolgáltatásnév-hitelesítéséhez:
host
,azure_tenant_id
,azure_client_id
,azure_client_secret
és esetlegazure_workspace_resource_id
. - Azure CLI-hitelesítés esetén:
host
. - Azure-beli felügyelt identitások hitelesítéséhez (ahol támogatott):
host
,azure_use_msi
,azure_client_id
, és esetlegazure_workspace_resource_id
.
Állítsa a
DATABRICKS_CONFIG_PROFILE
környezeti változót ennek a konfigurációs profilnak a nevére. Ezután inicializálja az osztályt azDatabricksSession
alábbiak szerint:import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder().getOrCreate()
A környezeti változók beállításához tekintse meg az operációs rendszer dokumentációját.
- Az Azure Databricks személyes hozzáférési jogkivonatának hitelesítése esetén:
Környezeti változó minden konfigurációs tulajdonsághoz
Ebben a beállításban állítsa be a
DATABRICKS_CLUSTER_ID
környezeti változót és a használni kívánt támogatott Databricks-hitelesítési típushoz szükséges egyéb környezeti változókat.Az egyes hitelesítési típusokhoz szükséges környezeti változók a következők:
- Az Azure Databricks személyes hozzáférési jogkivonatának hitelesítése esetén:
DATABRICKS_HOST
ésDATABRICKS_TOKEN
. - OAuth machine-to-machine (M2M) hitelesítéshez (ahol támogatott):
DATABRICKS_HOST
,DATABRICKS_CLIENT_ID
ésDATABRICKS_CLIENT_SECRET
. - OAuth felhasználó–gép (U2M) hitelesítés esetén (ahol támogatott):
DATABRICKS_HOST
. - A Microsoft Entra ID (korábbi nevén Azure Active Directory) szolgáltatásnév-hitelesítéséhez:
DATABRICKS_HOST
,ARM_TENANT_ID
,ARM_CLIENT_ID
,ARM_CLIENT_SECRET
és esetlegDATABRICKS_AZURE_RESOURCE_ID
. - Azure CLI-hitelesítés esetén:
DATABRICKS_HOST
. - Azure-beli felügyelt identitások hitelesítéséhez (ahol támogatott):
DATABRICKS_HOST
,ARM_USE_MSI
,ARM_CLIENT_ID
, és esetlegDATABRICKS_AZURE_RESOURCE_ID
.
Ezután inicializálja az osztályt az
DatabricksSession
alábbiak szerint:import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder().getOrCreate()
A környezeti változók beállításához tekintse meg az operációs rendszer dokumentációját.
- Az Azure Databricks személyes hozzáférési jogkivonatának hitelesítése esetén:
Egy Azure Databricks-konfigurációs profil neve
DEFAULT
Ebben a beállításban hozzon létre vagy azonosítsa az Azure Databricks konfigurációs profilját , amely tartalmazza a mezőt
cluster_id
és a használni kívánt támogatott Databricks-hitelesítési típushoz szükséges egyéb mezőket.Ha már beállította a
DATABRICKS_CLUSTER_ID
környezeti változót a fürt azonosítójával, akkor nem kell megadniacluster_id
.Az egyes hitelesítési típusokhoz szükséges konfigurációs profilmezők a következők:
- Az Azure Databricks személyes hozzáférési jogkivonatának hitelesítése esetén:
host
éstoken
. - OAuth machine-to-machine (M2M) hitelesítéshez (ahol támogatott):
host
,client_id
ésclient_secret
. - OAuth felhasználó–gép (U2M) hitelesítés esetén (ahol támogatott):
host
. - A Microsoft Entra ID (korábbi nevén Azure Active Directory) szolgáltatásnév-hitelesítéséhez:
host
,azure_tenant_id
,azure_client_id
,azure_client_secret
és esetlegazure_workspace_resource_id
. - Azure CLI-hitelesítés esetén:
host
. - Azure-beli felügyelt identitások hitelesítéséhez (ahol támogatott):
host
,azure_use_msi
,azure_client_id
, és esetlegazure_workspace_resource_id
.
Nevezze el ezt a konfigurációs profilt
DEFAULT
.Ezután inicializálja az osztályt az
DatabricksSession
alábbiak szerint:scala import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder().getOrCreate()
- Az Azure Databricks személyes hozzáférési jogkivonatának hitelesítése esetén: