Dela via


Databricks Connect för Scala

Kommentar

Den här artikeln beskriver Databricks Connect för Databricks Runtime 13.3 LTS och senare.

Den här artikeln visar hur du snabbt kommer igång med Databricks Connect med Scala med IntelliJ IDEA och Scala-plugin-programmet.

Med Databricks Connect kan du ansluta populära IDE:er som IntelliJ IDEA, notebook-servrar och andra anpassade program till Azure Databricks-kluster. Se Vad är Databricks Connect?.

Självstudie

Mer information om hur du hoppar över den här självstudien och använder en annan IDE finns i Nästa steg.

Krav

För att slutföra den här självstudien måste du uppfylla följande krav:

  • Din Azure Databricks-målarbetsyta och ditt kluster måste uppfylla kraven för klusterkonfiguration för Databricks Connect.

  • Du måste ha ditt kluster-ID tillgängligt. Om du vill hämta ditt kluster-ID klickar du på Beräkning i sidofältet i arbetsytan och klickar sedan på klustrets namn. Kopiera teckensträngen mellan clusters och configuration i URL:en i webbläsarens adressfält.

  • Du har Java Development Kit (JDK) installerat på utvecklingsdatorn. Databricks rekommenderar att den version av JDK-installationen som du använder matchar JDK-versionen i ditt Azure Databricks-kluster. I följande tabell visas JDK-versionen för varje Databricks Runtime som stöds.

    Databricks Runtime-version JDK-version
    13.3 LTS - 15.0,
    13,3 ML LTS - 15,0 ML
    JDK 8

    Kommentar

    Om du inte har ett JDK installerat, eller om du har flera JDK-installationer på utvecklingsdatorn, kan du installera eller välja ett specifikt JDK senare i steg 1. Om du väljer en JDK-installation som är lägre än eller högre än JDK-versionen i klustret kan det ge oväntade resultat, eller så kanske koden inte körs alls.

  • Du har IntelliJ IDEA installerat. Den här självstudien har testats med IntelliJ IDEA Community Edition 2023.3.6. Om du använder en annan version eller utgåva av IntelliJ IDEA kan följande instruktioner variera.

  • Du har Scala-plugin-programmet för IntelliJ IDEA installerat.

Steg 1: Konfigurera Azure Databricks-autentisering

I den här självstudien används autentisering med Azure Databricks OAuth från användare till dator (U2M) och en Azure Databricks-konfigurationsprofil för autentisering med din Azure Databricks-arbetsyta. Information om hur du använder en annan autentiseringstyp finns i Konfigurera anslutningsegenskaper.

För att konfigurera OAuth U2M-autentisering krävs Databricks CLI enligt följande:

  1. Om den inte redan är installerad installerar du Databricks CLI på följande sätt:

    Linux, macOS

    Använd Homebrew för att installera Databricks CLI genom att köra följande två kommandon:

    brew tap databricks/tap
    brew install databricks
    

    Windows

    Du kan använda winget, Chocolatey eller Windows podsistem za Linux (WSL) för att installera Databricks CLI. Om du inte kan använda winget, Chocolatey eller WSL bör du hoppa över den här proceduren och använda Kommandotolken eller PowerShell för att installera Databricks CLI från källan i stället.

    Kommentar

    Det är experimentellt att installera Databricks CLI med Chocolatey.

    Om du vill använda winget för att installera Databricks CLI kör du följande två kommandon och startar sedan om kommandotolken:

    winget search databricks
    winget install Databricks.DatabricksCLI
    

    Kör följande kommando för att använda Chocolatey för att installera Databricks CLI:

    choco install databricks-cli
    

    Så här använder du WSL för att installera Databricks CLI:

    1. Installera curl och zip via WSL. Mer information finns i dokumentationen för ditt operativsystem.

    2. Använd WSL för att installera Databricks CLI genom att köra följande kommando:

      curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
      
  2. Bekräfta att Databricks CLI har installerats genom att köra följande kommando, som visar den aktuella versionen av det installerade Databricks CLI. Den här versionen ska vara 0.205.0 eller senare:

    databricks -v
    

    Kommentar

    Om du kör databricks men får ett fel som command not found: databricks, eller om du kör databricks -v och ett versionsnummer 0.18 eller senare visas, innebär det att datorn inte kan hitta rätt version av databricks CLI-körbara filer. Information om hur du åtgärdar detta finns i Verifiera CLI-installationen.

Initiera OAuth U2M-autentisering på följande sätt:

  1. Använd Databricks CLI för att initiera OAuth-tokenhantering lokalt genom att köra följande kommando för varje målarbetsyta.

    I följande kommando ersätter du <workspace-url> med url:en för Azure Databricks per arbetsyta, till exempel https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --configure-cluster --host <workspace-url>
    
  2. Databricks CLI uppmanar dig att spara den information som du angav som en Azure Databricks-konfigurationsprofil. Tryck Enter för att acceptera det föreslagna profilnamnet eller ange namnet på en ny eller befintlig profil. Alla befintliga profiler med samma namn skrivs över med den information som du angav. Du kan använda profiler för att snabbt växla autentiseringskontext över flera arbetsytor.

    Om du vill hämta en lista över befintliga profiler i en separat terminal eller kommandotolk använder du Databricks CLI för att köra kommandot databricks auth profiles. Om du vill visa en specifik profils befintliga inställningar kör du kommandot databricks auth env --profile <profile-name>.

  3. I webbläsaren slutför du anvisningarna på skärmen för att logga in på din Azure Databricks-arbetsyta.

  4. I listan över tillgängliga kluster som visas i terminalen eller kommandotolken använder du upppilen och nedåtpilen för att välja Azure Databricks-målklustret på arbetsytan och trycker sedan på Enter. Du kan också ange valfri del av klustrets visningsnamn för att filtrera listan över tillgängliga kluster.

  5. Om du vill visa en profils aktuella OAuth-tokenvärde och tokens kommande förfallotidsstämpel kör du något av följande kommandon:

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

    Om du har flera profiler med samma --host värde kan du behöva ange --host alternativen och -p tillsammans för att hjälpa Databricks CLI att hitta rätt matchande OAuth-tokeninformation.

Steg 2: Skapa projektet

  1. Starta IntelliJ IDEA.

  2. På huvudmenyn klickar du på Arkiv > Nytt > projekt.

  3. Ge projektet ett beskrivande namn.

  4. För Plats klickar du på mappikonen och slutför anvisningarna på skärmen för att ange sökvägen till ditt nya Scala-projekt.

  5. För Språk klickar du på Scala.

  6. För Skapa system klickar du på sbt.

  7. I listrutan JDK väljer du en befintlig installation av JDK på utvecklingsdatorn som matchar JDK-versionen i klustret, eller väljer Ladda ned JDK och följer anvisningarna på skärmen för att ladda ned en JDK som matchar JDK-versionen i klustret.

    Kommentar

    Om du väljer en JDK-installation som ligger ovanför eller under JDK-versionen i klustret kan det ge oväntade resultat, eller så kanske koden inte körs alls.

  8. I listrutan sbt väljer du den senaste versionen.

  9. I listrutan Scala väljer du den version av Scala som matchar Scala-versionen i klustret. I följande tabell visas Scala-versionen för varje Databricks Runtime som stöds:

    Databricks Runtime-version Scala-version
    13.3 LTS - 15.0,
    13,3 ML LTS - 15,0 ML
    2.12.15

    Kommentar

    Om du väljer en Scala-version som är lägre än eller högre än Scala-versionen i klustret kan det ge oväntade resultat, eller så kanske koden inte körs alls.

  10. Kontrollera att rutan Ladda ned källor bredvid Scala är markerad.

  11. För Paketprefix anger du ett paketprefixvärde för projektets källor, till exempel org.example.application.

  12. Kontrollera att rutan Lägg till exempelkod är markerad.

  13. Klicka på Skapa.

Skapa IntelliJ IDEA-projektet

Steg 3: Lägg till Databricks Connect-paketet

  1. När ditt nya Scala-projekt är öppet öppnar du filen med namnet i projektnamnsmålet> i projektverktygets fönster (Visa > verktyget Windows-projekt).>build.sbt

  2. Lägg till följande kod i slutet av build.sbt filen, som deklarerar projektets beroende av en specifik version av Databricks Connect-biblioteket för Scala:

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

    Ersätt 14.3.1 med den version av Databricks Connect-biblioteket som matchar Databricks Runtime-versionen i klustret. Du hittar versionsnumren för Databricks Connect-biblioteket på den centrala Maven-lagringsplatsen.

  3. Klicka på meddelandeikonen Läs in sbt-ändringar för att uppdatera Scala-projektet med den nya biblioteksplatsen och beroendet.

  4. Vänta tills förloppsindikatorn sbt längst ned i IDE försvinner. Inläsningsprocessen sbt kan ta några minuter att slutföra.

Installera Databricks Connect-paketet

Steg 4: Lägg till kod

  1. Öppna filen med namnet Main.scalai project-name> src > main > scala i projektverktygets fönster.

  2. Ersätt befintlig kod i filen med följande kod och spara sedan filen, beroende på namnet på din konfigurationsprofil.

    Om konfigurationsprofilen från steg 1 heter DEFAULTersätter du eventuell befintlig kod i filen med följande kod och sparar sedan filen:

    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()
      }
    }
    

    Om konfigurationsprofilen från steg 1 inte heter DEFAULTersätter du eventuell befintlig kod i filen med följande kod i stället. Ersätt platshållaren <profile-name> med namnet på konfigurationsprofilen från steg 1 och spara sedan filen:

    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()
      }
    }
    

Steg 5: Kör koden

  1. Starta målklustret på din fjärranslutna Azure Databricks-arbetsyta.
  2. När klustret har startat klickar du på Kör Kör > "Main" på huvudmenyn.
  3. I fönstret Kör verktyg (Visa > verktyget Windows > Kör) på fliken Main visas de första 5 raderna i samples.nyctaxi.trips tabellen.

Steg 6: Felsöka koden

  1. När målklustret fortfarande körs klickar du på rännstenen bredvid i föregående kod för att df.limit(5).show() ange en brytpunkt.
  2. På huvudmenyn klickar du på Kör > felsökning "Main".
  3. Klicka på kalkylatorikonen (Utvärdera uttryck) på fliken Konsol i fönstret Felsökningsverktyg (Visa > verktyget Windows-felsökning>).
  4. Ange uttrycket df.schema och klicka på Utvärdera för att visa DataFrame-schemat.
  5. I sidofältet för felsökningsverktyget klickar du på den gröna pilen (Återuppta program).
  6. I konsolfönstret visas de första 5 raderna i samples.nyctaxi.trips tabellen.

Felsöka IntelliJ IDEA-projektet

Nästa steg

Mer information om Databricks Connect finns i artiklar som följande: