Megosztás a következőn keresztül:


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

  1. A Scala-projekt buildfájljában, például build.sbtsbtpom.xml a Mavenhez vagy build.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'
    
  2. 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.

  1. Gyűjtse össze a következő konfigurációs tulajdonságokat.

  2. 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ódusa remote() 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
    1. Az DatabricksSession osztály metódusa remote()

      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és clusterId a mezőket a következőben DatabricksSession.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()
      
    2. 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 és token.
      • OAuth machine-to-machine (M2M) hitelesítéshez (ahol támogatott): host, client_idés client_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 esetleg azure_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 esetleg azure_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 vagy clusterId a cluster_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()
      
    3. 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.

    4. 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 megadnia cluster_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 és token.
      • OAuth machine-to-machine (M2M) hitelesítéshez (ahol támogatott): host, client_idés client_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 esetleg azure_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 esetleg azure_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 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.

    5. 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 és DATABRICKS_TOKEN.
      • OAuth machine-to-machine (M2M) hitelesítéshez (ahol támogatott): DATABRICKS_HOST, DATABRICKS_CLIENT_IDés DATABRICKS_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 esetleg DATABRICKS_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 esetleg DATABRICKS_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.

    6. 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 megadnia cluster_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 és token.
      • OAuth machine-to-machine (M2M) hitelesítéshez (ahol támogatott): host, client_idés client_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 esetleg azure_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 esetleg azure_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()