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.
- 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 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
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. 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 MLJDK 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:
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:
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 får ett fel somcommand 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örbara filer. 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 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 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 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.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 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.
I listrutan sbt väljer du den senaste versionen.
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 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 i projektnamnsmålet> i projektverktygets fönster (Visa > verktyget Windows-projekt).>
build.sbt
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å meddelandeikonen Läs in sbt-ändringar för att uppdatera 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
Öppna filen med namnet
Main.scala
i project-name> src > main > scala i projektverktygets fönster.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 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
- 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. - På huvudmenyn klickar du på Kör > felsökning "Main".
- Klicka på kalkylatorikonen (Utvärdera uttryck) på fliken Konsol i fönstret Felsökningsverktyg (Visa > verktyget Windows-felsökning>).
- Ange uttrycket
df.schema
och klicka på Utvärdera för att visa DataFrame-schemat. - I sidofältet för felsökningsverktyget klickar du på den gröna pilen (Återuppta program).
- I konsolfönstret visas de första 5 raderna i
samples.nyctaxi.trips
tabellen.
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.