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 get kan komma igång med Databricks Connect genom att använda Scala i IntelliJ IDEA och Scala-plugin.
- Python-versionen av den här artikeln finns i Databricks Connect för Python.
- R-versionen av den här artikeln finns i Databricks Connect för R.
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 Beräkningskonfiguration för Databricks Connect.
Du måste ha ditt kluster-ID tillgängligt. För att get kluster-ID:t i din arbetsyta klickar du på Compute i sidofältet och sedan på klustrets namn. Kopiera teckensträngen mellan
clusters
ochconfiguration
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. Följande table visar 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 MLJDK 8 16.0 JDK 17 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:
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-undersystem för 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:
Installera
curl
ochzip
via WSL. Mer information finns i dokumentationen för ditt operativsystem.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
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 get ett fel, till exempelcommand not found: databricks
, eller om du kördatabricks -v
och ett versionsnummer 0.18 eller senare visas, innebär det att datorn inte kan hitta rätt version av Databricks CLI-körbar fil. Information om hur du åtgärdar detta finns i Verifiera CLI-installationen.
Initiera OAuth U2M-autentisering på följande sätt:
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 exempelhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --configure-cluster --host <workspace-url>
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 get en list av befintliga profiler i ett separat terminalfönster eller kommandoprompt 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 kommandotdatabricks auth env --profile <profile-name>
.I webbläsaren slutför du anvisningarna på skärmen för att logga in på din Azure Databricks-arbetsyta.
I list av tillgängliga kluster som visas i terminalen eller kommandotolken använder du uppåtpilen och nedåtpilen för att select Azure Databricks-målklustret på arbetsytan och trycker sedan på
Enter
. Du kan också ange valfri del av klustrets visningsnamn för att filtrera list av tillgängliga kluster.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
Starta IntelliJ IDEA.
På huvudmenyn klickar du på Arkiv > Nytt > projekt.
Ge projektet ett beskrivande namn.
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.
För Språk klickar du på Scala.
För Skapa system klickar du på sbt.
I listrutan JDKlistselect en befintlig installation av JDK på utvecklingsdatorn som matchar JDK-versionen i klustret eller selectLadda ned JDK- och följa 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.
I listrutan sbtlistselect den senaste versionen.
Välj i Scala-listrutan listselect den version av Scala som matchar Scala-versionen i ditt kluster. Följande table visar 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 ML2.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.
Kontrollera att rutan Ladda ned källor bredvid Scala är markerad.
För Paketprefix anger du ett paketprefixvärde för projektets källor, till exempel
org.example.application
.Kontrollera att rutan Lägg till exempelkod är markerad.
Klicka på Skapa.
Steg 3: Lägg till Databricks Connect-paketet
När ditt nya Scala-projekt är öppet öppnar du filen med namnet
( View ) iTool Windows Project View ) iTool Windows Project .projektnamn mål 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.Klicka på Läs in sbt-ändringar meddelandeikonen för att update Scala-projektet med den nya biblioteksplatsen och beroendet.
Vänta tills förloppsindikatorn
sbt
längst ned i IDE försvinner. Inläsningsprocessensbt
kan ta några minuter att slutföra.
Steg 4: Lägg till kod
I Project-verktyget windowöppnar du filen med namnet
Main.scala
i projektnamn> src > main > scala.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
DEFAULT
ersä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
DEFAULT
ersä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
- Starta målklustret på din fjärranslutna Azure Databricks-arbetsyta.
- När klustret har startat klickar du på Kör Kör > "Main" på huvudmenyn.
- I verktyget Körwindow (View > Tool Windows > Run) på fliken Main visas de första 5 raderna av
samples.nyctaxi.trips
table.
Steg 6: Felsöka koden
- När målklustret fortfarande körs i föregående kod klickar du på rännstenen bredvid
df.limit(5).show()
för att set en brytpunkt. - På huvudmenyn klickar du på Kör > felsökning "Main".
- I verktyget Felsökningwindow (View > Tool Windows > Debug) klickar du på kalkylatorn (Utvärdera uttryck) på fliken Konsol.
- Ange uttrycket
df.schema
och klicka på Utvärdera för att visa DataFrame schema. - I Felsökning verktygets windowsidofält klickar du på ikonen för den gröna pilen (Återuppta programmet).
- I fönstret Console visas de första 5 raderna i
samples.nyctaxi.trips
table.
Nästa steg
Mer information om Databricks Connect finns i artiklar som följande:
Information om hur du använder andra Azure Databricks-autentiseringstyper än en personlig åtkomsttoken för Azure Databricks finns i Konfigurera anslutningsegenskaper.
Om du vill använda andra ID:er kan du läsa följande:
Mer information om hur du visar ytterligare enkla kodexempel finns i Kodexempel för Databricks Connect för Scala.
Mer komplexa kodexempel finns i exempelprogram för Databricks Connect-lagringsplatsen i GitHub, specifikt:
Information om hur du migrerar från Databricks Connect för Databricks Runtime 12.2 LTS och nedan till Databricks Connect för Databricks Runtime 13.3 LTS och senare finns i Migrera till Databricks Connect för Scala.
Se även information om felsökning och begränsningar.