Megosztás:


Oktatóanyag: Kód futtatása az IntelliJ IDEA-ból a klasszikus számításon

Ez az oktatóanyag bemutatja, hogyan kezdheti meg a Databricks Connect for Scala használatát az IntelliJ IDEA és a Scala beépülő modul használatával.

Ebben az oktatóanyagban létrehoz egy projektet az IntelliJ IDEA-ban, telepíti a Databricks Connect for Databricks Runtime 13.3 LTS-t vagy újabb verziót, és egyszerű kódot futtat a Databricks-munkaterületen az IntelliJ IDEA-ból.

Jótanács

Ha tudni szeretné, hogyan hozhat létre a Databricks-eszközcsomagokat egy olyan Scala-projekt létrehozásához, amely a kiszolgáló nélküli számításon futtat kódot, olvassa el a Scala JAR databricks-eszközcsomagok használatával történő létrehozását ismertető témakört.

Követelmények

Az oktatóanyag elvégzéséhez meg kell felelnie a következő követelményeknek:

  • A munkaterület, a helyi környezet és a számítás megfelel a Scalához készült Databricks Connect követelményeinek. Lásd a Databricks Connect használati követelményeit.

  • Rendelkeznie kell a fürtazonosítóval. A fürtazonosító megtekintéséhez a saját munkaterületén kattintson a Számítás gombra az oldalsávon, majd kattintson a fürt nevére. A webböngésző címsorában másolja a clusters és configuration között található karaktersorozatot az URL-ből.

  • A fejlesztői gépen telepítve van a Java Development Kit (JDK). A telepíteni kívánt verzióval kapcsolatos információkért tekintse meg a verziótámogatási mátrixot.

    Megjegyzés:

    Ha nincs telepítve JDK, vagy ha több JDK-telepítés van a fejlesztői gépen, az 1. lépés későbbi részében telepítheti vagy kiválaszthatja az adott JDK-t. Ha olyan JDK-telepítést választ, amely a fürt JDK-verziója alatt vagy felett található, váratlan eredményeket eredményezhet, vagy előfordulhat, hogy a kód egyáltalán nem fut.

  • Az IntelliJ IDEA telepítve van. Ezt az oktatóanyagot az IntelliJ IDEA Community Edition 2023.3.6-os verziójával teszteltük. Ha az IntelliJ IDEA másik verzióját vagy kiadását használja, az alábbi utasítások eltérhetnek.

  • Telepítve van az IntelliJ IDEA-hoz a Scala beépülő modul.

1. lépés: Az Azure Databricks-hitelesítés konfigurálása

Ez az oktatóanyag az Azure Databricks OAuth felhasználói (U2M) hitelesítését és egy Azure Databricks-konfigurációs profilt használ az Azure Databricks-munkaterület hitelesítéséhez. Ha ehelyett más hitelesítési típust szeretne használni, olvassa el a Kapcsolat tulajdonságainak konfigurálása című témakört.

Az OAuth U2M-hitelesítés konfigurálásához a Databricks parancssori felületre van szükség az alábbiak szerint:

  1. Telepítse a Databricks parancssori felületét:

    Linux, macOS

    A Következő két parancs futtatásával telepítse a Databricks parancssori felületet a Homebrew használatával:

    brew tap databricks/tap
    brew install databricks
    

    Windows

    A Databricks CLI telepítéséhez használhatja a winget, Chocolatey vagy a Linuxos Windows-alrendszer-t (WSL). Ha nem tudja használni a winget, a Chocolatey-t vagy a WSL-t, akkor hagyja ki ezt az eljárást, és a Parancssor vagy a PowerShell segítségével telepítse a Databricks CLI-t a forrásból helyette.

    Megjegyzés:

    A Databricks CLI és a Chocolatey telepítése kísérleti.

    winget A Databricks parancssori felület telepítéséhez futtassa a következő két parancsot, majd indítsa újra a parancssort:

    winget search databricks
    winget install Databricks.DatabricksCLI
    

    A Databricks parancssori felület telepítéséhez futtassa a következő parancsot a Chocolatey használatával:

    choco install databricks-cli
    

    A WSL használata a Databricks parancssori felület telepítéséhez:

    1. Telepítse a curl és zip a WSL-en keresztül. További információkért tekintse meg az operációs rendszer dokumentációját.

    2. A következő parancs futtatásával telepítse a Databricks CLI-t a WSL használatával:

      curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
      
  2. Ellenőrizze, hogy a Databricks parancssori felület telepítve van-e a következő parancs futtatásával, amely megjeleníti a telepített Databricks parancssori felület aktuális verzióját. Ennek a verziónak a 0.205.0-s vagy újabb verziónak kell lennie:

    databricks -v
    

OAuth U2M-hitelesítés kezdeményezése az alábbiak szerint:

  1. Az OAuth-jogkivonatok helyi felügyeletének elindításához használja a Databricks parancssori felületét az alábbi parancs futtatásával minden cél-munkaterületen.

    Az alábbi parancsban cserélje le a <workspace-url> elemet az Azure Databricks munkaterületenkénti URL-címére, például https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --configure-cluster --host <workspace-url>
    
  2. A Databricks parancssori felülete kéri, hogy mentse az Azure Databricks konfigurációs profiljaként megadott adatokat. Nyomja meg a Enter gombot a javasolt profilnév elfogadásához, vagy írja be egy új vagy meglévő profil nevét. Az azonos nevű meglévő profilokat felülírja a megadott adatokkal. Profilok használatával gyorsan válthat a hitelesítési környezetre több munkaterületen.

    A meglévő profilok listájának lekéréséhez egy külön terminálban vagy parancssorban futtassa a Databricks parancssori felületét a parancs databricks auth profilesfuttatásához. Egy adott profil meglévő beállításainak megtekintéséhez futtassa a parancsot databricks auth env --profile <profile-name>.

  3. A webböngészőben végezze el a képernyőn megjelenő utasításokat az Azure Databricks-munkaterületre való bejelentkezéshez.

  4. A terminálban vagy parancssorban megjelenő elérhető fürtök listájában a felfelé és lefelé mutató nyílbillentyűkkel válassza ki a munkaterületen a cél Azure Databricks-fürtöt, majd nyomja le Entera billentyűt. Az elérhető fürtök listájának szűréséhez beírhatja a fürt megjelenítésre kerülő nevének bármely részét.

  5. A profil aktuális OAuth-tokenértékének és a jogkivonat közelgő lejárati időbélyegének megtekintéséhez futtassa az alábbi parancsok egyikét:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Ha több azonos --host értékű profillal rendelkezik, lehet, hogy együtt kell megadnia a --host és a -p beállításokat, hogy a Databricks CLI megkeresse a megfelelő OAuth token információkat.

2. lépés: A projekt létrehozása

  1. Indítsa el az IntelliJ IDEA-t.

  2. A főmenüben kattintson a Fájl > Új > Projekt menüpontra.

  3. Adjon egy értelmes nevet a projektnek.

  4. A Hely beállításhoz kattintson a mappa ikonra, és végezze el a képernyőn megjelenő utasításokat az új Scala-projekt elérési útjának megadásához.

  5. A Nyelvként kattintson a Scala lehetőségre.

  6. A Build rendszeresetén kattintson a sbtlehetőségre.

  7. A JDK legördülő listában válassza ki a fejlesztőgépe meglévő JDK telepítését, amely megfelel a fürtön lévő JDK-verziónak, vagy válassza a JDK letöltése lehetőséget, és a képernyőn megjelenő utasításokat követve töltsön le egy JDK-t, amely megegyezik a fürtön lévő JDK-verzióval. Lásd: Követelmények.

    Megjegyzés:

    Ha olyan JDK-telepítést választ, amely újabb vagy régebbi, mint a fürtön lévő JDK-verzió, az váratlan eredményekhez vezethet, vagy akár a kód teljesen meg sem fut.

  8. Az sbt legördülő listában válassza ki a legújabb verziót.

  9. A Scala legördülő listában válassza ki a Scala azon verzióját, amely megfelel a Scala-verzióhoz a fürtön. Lásd: Követelmények.

    Megjegyzés:

    Ha olyan Scala-verziót választ, amely a klaszter Scala-verziójánál alacsonyabb vagy magasabb, az váratlan eredményeket eredményezhet, vagy előfordulhat, hogy a kód egyáltalán nem fut.

  10. Győződjön meg arról, hogy a Scala melletti Források letöltése jelölőnégyzet be van jelölve.

  11. Csomagelőtag esetén adjon meg egy csomagelőtag-értéket a projekt forrásaihoz, példáulorg.example.application.

  12. Győződjön meg arról, hogy a Adja hozzá a mintakódot jelölőnégyzet be van jelölve.

  13. Kattintson Létrehozásra.

Az IntelliJ IDEA projekt létrehozása

3. lépés: A Databricks Connect csomag hozzáadása

  1. Az új Scala-projekt megnyitása után, a Projekt eszközablakban (Nézet > Eszközablakok > Projekt), nyissa meg a build.sbt nevű fájlt a projekt-név> célmappában.

  2. Adja hozzá a következő kódot a build.sbt fájl végéhez, amely deklarálja a projekt függőségét a Scalához készült Databricks Connect-kódtár egy adott verziójától, amely kompatibilis a fürt Databricks Runtime-verziójával:

    libraryDependencies += "com.databricks" %% "databricks-connect" % "17.3.+"
    

    Cserélje le a 17.3-t a Databricks Connect könyvtár azon verziójára, amely a fürtön lévő Databricks Runtime-verziónak felel meg. A Databricks Connect 17.3.+ például megfelel a Databricks Runtime 17.3 LTS-nek. A Databricks Connect-kódtár verziószámait a Maven központi adattárában találja.

    Megjegyzés:

    A Databricks Connect használata esetén ne tartalmazzon Apache Spark-összetevőket, például org.apache.spark:spark-core a projektben. Ehelyett fordítson le közvetlenül a Databricks Connect segítségével.

  3. Kattintson a Sbt-módosítások betöltése értesítés ikonra a Scala-projekt új erőforrástár helyével és függőségével való frissítéséhez.

    A Databricks Connect csomag telepítése

  4. Várjon, amíg az IDE alján lévő sbt állapotjelző eltűnik. A sbt betöltési folyamat végrehajtása eltarthat néhány percig.

4. lépés: Kód hozzáadása

  1. A Projekt eszközablakban nyissa meg a fájlt, amely a Main.scala könyvtárban található.

  2. Cserélje le a fájl meglévő kódját a következő kódra, majd mentse a fájlt a konfigurációs profil nevétől függően.

    Ha az 1. lépésben megadott konfigurációs profil neve el van nevezve DEFAULT, cserélje le a fájlban lévő összes meglévő kódot a következő kódra, majd mentse a fájlt:

    package org.example.application
    
    import com.databricks.connect.DatabricksSession
    import org.apache.spark.sql.SparkSession
    
    object Main {
      def main(args: Array[String]): Unit = {
        val spark = DatabricksSession.builder().remote().getOrCreate()
        val df = spark.read.table("samples.nyctaxi.trips")
        df.limit(5).show()
      }
    }
    

    Ha az 1. lépésben létrehozott konfigurációs profil neve nem az, hogy DEFAULT, cserélje le a fájlban lévő meglévő kódot az alábbi kóddal. Cserélje le a helyőrzőt <profile-name> a konfigurációs profil nevére az 1. lépésben, majd mentse a fájlt:

    package org.example.application
    
    import com.databricks.connect.DatabricksSession
    import com.databricks.sdk.core.DatabricksConfig
    import org.apache.spark.sql.SparkSession
    
    object Main {
      def main(args: Array[String]): Unit = {
        val config = new DatabricksConfig().setProfile("<profile-name>")
        val spark = DatabricksSession.builder().sdkConfig(config).getOrCreate()
        val df = spark.read.table("samples.nyctaxi.trips")
        df.limit(5).show()
      }
    }
    

5. lépés: A virtuális gép beállításainak konfigurálása

  1. Importálja az aktuális könyvtárat az IntelliJ-be, ahol build.sbt található.

  2. Válassza a Java 17-et az IntelliJ-ben. Menjen a Fájl>Projektstruktúra>SDK-k menübe.

  3. Nyissa meg src/main/scala/com/examples/Main.scala.

  4. Lépjen a Main konfigurációjához a virtuálisgép-beállítások hozzáadásához:

    Fő szerkesztés

    Virtuálisgép-beállítások hozzáadása

  5. Adja hozzá a következőket a virtuális gép beállításaihoz:

    --add-opens=java.base/java.nio=ALL-UNNAMED
    

Jótanács

Vagy ha a Visual Studio Code-ot használja, adja hozzá a következőket az sbt buildfájlhoz:

fork := true
javaOptions += "--add-opens=java.base/java.nio=ALL-UNNAMED"

Ezután futtassa az alkalmazást a terminálról:

sbt run

6. lépés: A kód futtatása

  1. Indítsa el a célfürtöt a távoli Azure Databricks-munkaterületen.
  2. A fürt elindítása után a főmenüben kattintson a Futtatás > Futtatás 'Main' opcióra.
  3. A Futtatás eszközablakban (Megtekintés > Eszközablakok > Futtatás) a lapon megjelenik a samples.nyctaxi.trips táblázat első 5 sora.

7. lépés: A kód hibakeresése

  1. Ha a célfürt továbbra is fut, az előző kódban kattintson a df.limit(5).show() melletti sávra a töréspont beállításához.

  2. A főmenüben kattintson a 'Fő' hibakeresés futtatása > parancsra. A Debug eszközablakban (Megtekintés > Eszközablakok > Debug), a Konzol fülön kattintson a számológép (Kifejezés kiértékelése) ikonra.

  3. Adja meg a kifejezést df.schema.

  4. Kattintson a Kiértékelés gombra a DataFrame sémájának megjelenítéséhez.

  5. A Hibakeresés eszköz ablakának oldalsávján kattintson a zöld nyílra (Program folytatása) ikonra. A táblázat első 5 sora samples.nyctaxi.trips megjelenik a Konzol panelen .

    Az IntelliJ IDEA projekt hibakeresése