Databricks Connect voor Scala
Notitie
Dit artikel bevat informatie over Databricks Connect voor Databricks Runtime 13.3 LTS en hoger.
In dit artikel wordt gedemonstreerd hoe u snel aan de slag kunt met Databricks Connect met behulp van Scala met IntelliJ IDEA en de Scala-invoegtoepassing.
- Zie Databricks Connect voor Python voor de Python-versie van dit artikel.
- Zie Databricks Connect voor R voor de R-versie van dit artikel.
Met Databricks Connect kunt u populaire IDE's, zoals IntelliJ IDEA, notebookservers en andere aangepaste toepassingen, verbinden met Azure Databricks-clusters. Zie Wat is Databricks Connect?
Zelfstudie
Zie Volgende stappen als u deze zelfstudie wilt overslaan en in plaats daarvan een andere IDE wilt gebruiken.
Vereisten
Als u deze zelfstudie wilt voltooien, moet u aan de volgende vereisten voldoen:
Uw Azure Databricks-doelwerkruimte en -cluster moeten voldoen aan de vereisten voor de compute-configuratie voor Databricks Connect.
U moet de cluster-id beschikbaar hebben. Als u de cluster-id wilt ophalen, klikt u in uw werkruimte op Compute op de zijbalk en vervolgens op de naam van het cluster. Kopieer in de adresbalk van uw webbrowser de tekenreeks tussen
clusters
enconfiguration
in de URL.U hebt de Java Development Kit (JDK) geïnstalleerd op uw ontwikkelcomputer. Databricks raadt aan dat de versie van uw JDK-installatie die u gebruikt overeenkomt met de JDK-versie in uw Azure Databricks-cluster. In de volgende tabel ziet u de JDK-versie voor elke ondersteunde Databricks Runtime.
Databricks Runtime-versie JDK-versie 13.3 LTS - 15.0,
13.3 ML LTS - 15,0 MLJDK 8 16.0 JDK 17 Notitie
Als u geen JDK hebt geïnstalleerd of als u meerdere JDK-installaties op uw ontwikkelcomputer hebt, kunt u later in stap 1 een specifieke JDK installeren of kiezen. Als u een JDK-installatie kiest die lager of hoger is dan de JDK-versie op uw cluster, kan dit onverwachte resultaten opleveren of wordt uw code helemaal niet uitgevoerd.
U hebt IntelliJ IDEA geïnstalleerd. Deze zelfstudie is getest met IntelliJ IDEA Community Edition 2023.3.6. Als u een andere versie of editie van IntelliJ IDEA gebruikt, kunnen de volgende instructies variëren.
U hebt de Scala-invoegtoepassing voor IntelliJ IDEA geïnstalleerd.
Stap 1: Azure Databricks-verificatie configureren
In deze zelfstudie wordt gebruikgemaakt van Azure Databricks OAuth-verificatie van gebruikers naar machine (U2M) en een Azure Databricks-configuratieprofiel voor verificatie met uw Azure Databricks-werkruimte. Als u in plaats daarvan een ander verificatietype wilt gebruiken, raadpleegt u Verbindingseigenschappen configureren.
Voor het configureren van OAuth U2M-verificatie is de Databricks CLI als volgt vereist:
Als deze nog niet is geïnstalleerd, installeert u de Databricks CLI als volgt:
Linux, macOS
Gebruik Homebrew om de Databricks CLI te installeren door de volgende twee opdrachten uit te voeren:
brew tap databricks/tap brew install databricks
Windows
U kunt winget, Chocolatey of Windows-subsysteem voor Linux (WSL) gebruiken om de Databricks CLI te installeren. Als u deze procedure niet kunt gebruiken
winget
, Chocolatey of WSL, moet u deze procedure overslaan en in plaats daarvan de Opdrachtprompt of PowerShell gebruiken om de Databricks CLI te installeren vanuit de bron .Notitie
Het installeren van de Databricks CLI met Chocolatey is experimenteel.
winget
Als u de Databricks CLI wilt installeren, voert u de volgende twee opdrachten uit en start u de opdrachtprompt opnieuw:winget search databricks winget install Databricks.DatabricksCLI
Voer de volgende opdracht uit om Chocolatey te gebruiken om de Databricks CLI te installeren:
choco install databricks-cli
WSL gebruiken om de Databricks CLI te installeren:
Installeer
curl
enzip
via WSL. Zie de documentatie van uw besturingssysteem voor meer informatie.Gebruik WSL om de Databricks CLI te installeren door de volgende opdracht uit te voeren:
curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
Controleer of de Databricks CLI is geïnstalleerd door de volgende opdracht uit te voeren, waarin de huidige versie van de geïnstalleerde Databricks CLI wordt weergegeven. Deze versie moet 0.205.0 of hoger zijn:
databricks -v
Notitie
Als u maar
databricks
een fout krijgt, zoalscommand not found: databricks
, of als u uitvoertdatabricks -v
en een versienummer van 0.18 of lager wordt vermeld, betekent dit dat uw computer de juiste versie van het uitvoerbare Bestand van de Databricks CLI niet kan vinden. Zie Uw CLI-installatie controleren om dit probleem op te lossen.
Start OAuth U2M-verificatie als volgt:
Gebruik de Databricks CLI om OAuth-tokenbeheer lokaal te starten door de volgende opdracht uit te voeren voor elke doelwerkruimte.
Vervang in de volgende opdracht bijvoorbeeld
<workspace-url>
door de URLhttps://adb-1234567890123456.7.azuredatabricks.net
per werkruimte.databricks auth login --configure-cluster --host <workspace-url>
De Databricks CLI vraagt u om de gegevens op te slaan die u hebt ingevoerd als een Azure Databricks-configuratieprofiel. Druk
Enter
om de voorgestelde profielnaam te accepteren of voer de naam van een nieuw of bestaand profiel in. Elk bestaand profiel met dezelfde naam wordt overschreven met de gegevens die u hebt ingevoerd. U kunt profielen gebruiken om snel uw verificatiecontext over te schakelen tussen meerdere werkruimten.Als u een lijst met bestaande profielen wilt ophalen, gebruikt u in een afzonderlijke terminal of opdrachtprompt de Databricks CLI om de opdracht
databricks auth profiles
uit te voeren. Als u de bestaande instellingen van een specifiek profiel wilt weergeven, voert u de opdrachtdatabricks auth env --profile <profile-name>
uit.Voltooi in uw webbrowser de instructies op het scherm om u aan te melden bij uw Azure Databricks-werkruimte.
Gebruik in de lijst met beschikbare clusters die worden weergegeven in uw terminal of opdrachtprompt de pijl-omhoog en pijl-omlaag om het Azure Databricks-doelcluster in uw werkruimte te selecteren en druk
Enter
op . U kunt ook een deel van de weergavenaam van het cluster typen om de lijst met beschikbare clusters te filteren.Voer een van de volgende opdrachten uit om de huidige OAuth-tokenwaarde van een profiel en de geplande verlooptijdstempel van het token weer te geven:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Als u meerdere profielen met dezelfde
--host
waarde hebt, moet u mogelijk de--host
en-p
opties opgeven om de Databricks CLI te helpen de juiste overeenkomende OAuth-tokengegevens te vinden.
Stap 2: Het project maken
Start IntelliJ IDEA.
Klik in het hoofdmenu op Bestand > nieuw > project.
Geef uw project een zinvolle naam.
Klik voor Locatie op het mappictogram en voltooi de aanwijzingen op het scherm om het pad naar uw nieuwe Scala-project op te geven.
Klik voor Taal op Scala.
Klik voor buildsysteem op sbt.
Selecteer in de vervolgkeuzelijst JDK een bestaande installatie van de JDK op uw ontwikkelcomputer die overeenkomt met de JDK-versie op uw cluster, of selecteer JDK downloaden en volg de instructies op het scherm om een JDK te downloaden die overeenkomt met de JDK-versie in uw cluster.
Notitie
Als u een JDK-installatie kiest die zich boven of onder de JDK-versie van uw cluster bevindt, kan dit onverwachte resultaten opleveren of wordt uw code helemaal niet uitgevoerd.
Selecteer in de vervolgkeuzelijst sbt de meest recente versie.
Selecteer in de vervolgkeuzelijst Scala de versie van Scala die overeenkomt met de Scala-versie in uw cluster. In de volgende tabel ziet u de Scala-versie voor elke ondersteunde Databricks Runtime:
Databricks Runtime-versie Scala-versie 13.3 LTS - 15.0,
13.3 ML LTS - 15,0 ML2.12.15 Notitie
Als u een Scala-versie kiest die lager of hoger is dan de Scala-versie op uw cluster, kan dit onverwachte resultaten opleveren of wordt uw code mogelijk helemaal niet uitgevoerd.
Zorg ervoor dat het selectievakje Bronnen downloaden naast Scala is ingeschakeld.
in voor de bronnen van uw project.
Zorg ervoor dat het selectievakje Voorbeeldcode toevoegen is ingeschakeld.
Klik op Create.
Stap 3: Het Databricks Connect-pakket toevoegen
Als het nieuwe Scala-project is geopend, opent u het bestand met de naam >>
Voeg de volgende code toe aan het einde van het
build.sbt
bestand, waarmee de afhankelijkheid van uw project wordt opgegeven op een specifieke versie van de Databricks Connect-bibliotheek voor Scala:libraryDependencies += "com.databricks" % "databricks-connect" % "14.3.1"
Vervang
14.3.1
door de versie van de Databricks Connect-bibliotheek die overeenkomt met de Databricks Runtime-versie in uw cluster. U vindt de versienummers van de Databricks Connect-bibliotheek in de centrale Maven-opslagplaats.Klik op het meldingspictogram voor het laden van wijzigingen om uw Scala-project bij te werken met de nieuwe bibliotheeklocatie en -afhankelijkheid.
Wacht totdat de
sbt
voortgangsindicator onder aan de IDE verdwijnt. Hetsbt
laden kan enkele minuten duren.
Stap 4: Code toevoegen
Open in het venster Project-hulpprogramma het bestand met de naam , in
Main.scala
.Vervang bestaande code in het bestand door de volgende code en sla het bestand op, afhankelijk van de naam van uw configuratieprofiel.
Als uw configuratieprofiel uit stap 1 de naam
DEFAULT
heeft, vervangt u alle bestaande code in het bestand door de volgende code en slaat u het bestand op: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() } }
Als uw configuratieprofiel uit stap 1 geen naam
DEFAULT
heeft, vervangt u in plaats daarvan bestaande code in het bestand door de volgende code. Vervang de tijdelijke aanduiding<profile-name>
door de naam van uw configuratieprofiel uit stap 1 en sla het bestand op: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() } }
Stap 5: De code uitvoeren
- Start het doelcluster in uw externe Azure Databricks-werkruimte.
- Nadat het cluster is gestart, klikt u in het hoofdmenu op Uitvoeren > 'Hoofd'.
- In het venster Hulpprogramma Uitvoeren (> weergeven >) worden op het tabblad Main de eerste vijf rijen van de
samples.nyctaxi.trips
tabel weergegeven.
Stap 6: Fouten opsporen in de code
- Als het doelcluster nog steeds wordt uitgevoerd, klikt u in de voorgaande code op de rugmarge naast om een onderbrekingspunt in te
df.limit(5).show()
stellen. - Klik in het hoofdmenu op > Hoofdopsporing uitvoeren.
- Klik in het venster Foutopsporingsprogramma (Windows >> Foutopsporing weergeven) op het tabblad Console op het rekenmachinepictogram (Expressie evalueren).
- Voer de expressie
df.schema
in en klik op Evalueren om het schema van het DataFrame weer te geven. - Klik in de zijbalk van het hulpprogramma voor foutopsporing op het groene pijlpictogram (Programma hervatten).
- In het consolevenster worden de eerste vijf rijen van de
samples.nyctaxi.trips
tabel weergegeven.
Volgende stappen
Zie de volgende artikelen voor meer informatie over Databricks Connect:
Zie Verbindingseigenschappen configureren als u andere verificatietypen van Azure Databricks dan een persoonlijk toegangstoken van Azure Databricks wilt gebruiken.
Als u andere IDE's wilt gebruiken, raadpleegt u het volgende:
Zie Codevoorbeelden voor Databricks Connect voor Scala voor meer eenvoudige codevoorbeelden.
Als u complexere codevoorbeelden wilt bekijken, raadpleegt u de voorbeeldtoepassingen voor de Databricks Connect-opslagplaats in GitHub, met name:
Als u wilt migreren van Databricks Connect voor Databricks Runtime 12.2 LTS en hieronder naar Databricks Connect voor Databricks Runtime 13.3 LTS en hoger, raadpleegt u Migreren naar Databricks Connect voor Scala.
Zie ook informatie over probleemoplossing en beperkingen.