Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce tutoriel montre comment bien démarrer avec Databricks Connect pour Scala à l’aide d’IntelliJ IDEA et du plug-in Scala.
Dans ce tutoriel, vous allez créer un projet dans IntelliJ IDEA, installer Databricks Connect pour Databricks Runtime 13.3 LTS et versions ultérieures, puis exécuter du code simple sur le calcul dans votre espace de travail Databricks à partir d’IntelliJ IDEA.
Conseil / Astuce
Pour savoir comment utiliser databricks Asset Bundles pour créer un projet Scala qui exécute du code sur le calcul serverless, consultez Générer un fichier JAR Scala à l’aide de Bundles de ressources Databricks.
Spécifications
Pour suivre ce tutoriel, vous devez répondre aux exigences suivantes :
Votre espace de travail, votre environnement local et votre calcul répondent aux exigences de Databricks Connect pour Scala. Consultez les exigences d’utilisation de Databricks Connect.
Vous devez disposer de l’identifiant de votre cluster. Pour obtenir votre ID de cluster, dans votre espace de travail, cliquez sur Calcul dans la barre latérale, puis sur le nom de votre cluster. Dans la barre d’adresses de votre navigateur web, copiez la chaîne de caractères entre
clustersetconfigurationdans l’URL.Vous devez avoir le Kit de développement Java (JDK) installé sur votre machine de développement. Pour plus d’informations sur la version à installer, consultez la matrice de prise en charge des versions.
Remarque
Si vous n’avez pas installé de JDK ou si vous avez plusieurs installations du JDK sur votre machine de développement, vous pouvez installer ou sélectionner un JDK spécifique ultérieurement à l’étape 1. Choisir une installation du JDK inférieure ou supérieure à la version du JDK sur votre cluster peut produire des résultats inattendus ou empêcher l’exécution de votre code.
Vous devez avoir installé IntelliJ IDEA. Ce tutoriel a été testé avec IntelliJ IDEA Community Edition 2023.3.6. Si vous utilisez une version ou édition différente d’IntelliJ IDEA, les instructions suivantes peuvent varier.
Vous devez avoir installé le plugin Scala pour IntelliJ IDEA.
Étape 1 : Configurer l’authentification Azure Databricks
Ce tutoriel utilise l’authentification OAuth user-to-machine (U2M) d’Azure Databricks et un profil de configuration Azure Databricks pour s’authentifier auprès de votre espace de travail Azure Databricks. Pour utiliser un autre type d’authentification, veuillez consulter la section Configurer les propriétés de connexion.
La configuration de l’authentification OAuth U2M nécessite l’installation de l’interface en ligne de commande Databricks CLI, comme suit :
Installez l’interface CLI Databricks :
Linux, macOS
Utilisez Homebrew pour installer l’interface CLI Databricks en exécutant les deux commandes suivantes :
brew tap databricks/tap brew install databricksFenêtres
Vous pouvez utiliser winget, Chocolatey ou WSL (Sous-système Windows pour Linux) pour installer l’interface CLI Databricks. Si vous ne pouvez pas utiliser
wingetChocolatey ou WSL, vous devez ignorer cette procédure et utiliser l’invite de commande ou PowerShell pour installer l’interface CLI Databricks depuis la source à la place.Remarque
L’installation de l’interface CLI Databricks avec Chocolatey est Expérimentale.
Pour installer l’interface CLI Databricks via
winget, exécutez les deux commandes suivantes, puis redémarrez votre invite de commandes :winget search databricks winget install Databricks.DatabricksCLIPour utiliser Chocolatey pour installer l’interface CLI Databricks, exécutez la commande suivante :
choco install databricks-cliPour utiliser WSL pour installer l’interface CLI Databricks :
Installez
curletzipvia WSL. Pour plus d’informations, consultez la documentation de votre système d’exploitation.Utilisez WSL pour installer l’interface CLI Databricks en exécutant la commande suivante :
curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
Vérifiez que l’interface CLI Databricks est installée en exécutant la commande suivante, qui affiche la version actuelle de l’interface CLI Databricks installée. Cette version doit être la version 0.205.0 ou ultérieure :
databricks -v
Lancez l’authentification OAuth U2M comme suit :
Utilisez l’interface CLI Databricks pour lancer la gestion des jetons OAuth localement en exécutant la commande suivante pour chaque espace de travail cible.
Dans la commande suivante, remplacez
<workspace-url>par votre URL Azure Databricks par espace de travail, par exemplehttps://adb-1234567890123456.7.azuredatabricks.net.databricks auth login --configure-cluster --host <workspace-url>L’interface CLI Databricks vous invite à enregistrer les informations que vous avez entrées en tant que profil de configuration Azure Databricks. Appuyez sur
Enterpour accepter le nom de profil suggéré, ou entrez le nom d’un profil nouveau ou existant. Tout profil existant portant le même nom est remplacé par les informations que vous avez entrées. Vous pouvez utiliser des profils pour changer rapidement de contexte d’authentification entre plusieurs espaces de travail.Pour obtenir la liste des profils existants, dans un autre terminal ou une autre invite de commandes, utilisez l’interface CLI Databricks pour exécuter la commande
databricks auth profiles. Pour afficher les paramètres existants d’un profil spécifique, exécutez la commandedatabricks auth env --profile <profile-name>.Dans votre navigateur web, suivez les instructions à l’écran pour vous connecter à votre espace de travail Azure Databricks.
Dans la liste des clusters disponibles qui s’affiche dans votre terminal ou invite de commande, utilisez les flèches haut et bas pour sélectionner le cluster Azure Databricks cible dans votre espace de travail, puis appuyez sur
Enter. Vous pouvez également taper n’importe quelle partie du nom d’affichage du cluster pour filtrer la liste des clusters disponibles.Pour afficher la valeur actuelle du jeton OAuth d’un profil et l’horodatage d’expiration à venir du jeton, exécutez l’une des commandes suivantes :
databricks auth token --host <workspace-url>databricks auth token -p <profile-name>databricks auth token --host <workspace-url> -p <profile-name>
Si vous avez plusieurs profils avec la même valeur pour
--host, il peut être nécessaire de spécifier aussi les options--hostet-ppour permettre à l’interface CLI Databricks de trouver les informations du jeton OAuth correspondant.
Étape 2 : créer le projet
Démarrez IntelliJ IDEA.
Dans le menu principal, cliquez sur File > New > Project.
Attribuez un Nom explicite à votre projet.
Pour le champ Location, cliquez sur l’icône de dossier et suivez les instructions à l’écran pour spécifier le chemin de votre nouveau projet Scala.
Pour le champ Language, cliquez sur Scala.
Pour le champ Build system, cliquez sur sbt.
Dans la liste déroulante JDK, sélectionnez une installation existante du JDK sur votre machine de développement qui correspond à la version du JDK sur votre cluster, ou sélectionnez Download JDK et suivez les instructions à l’écran pour télécharger un JDK correspondant à celui de votre cluster. Consultez Spécifications.
Remarque
Choisir une version du JDK différente de celle de votre cluster peut entraîner des résultats inattendus ou empêcher l’exécution de votre code.
Dans la liste déroulante sbt, sélectionnez la version la plus récente.
Dans la liste déroulante Scala, sélectionnez la version de Scala correspondant à celle de votre cluster. Consultez Spécifications.
Remarque
Choisir une version de Scala différente de celle de votre cluster peut entraîner des résultats inattendus ou empêcher l’exécution de votre code.
Assurez-vous que la case Download sources à côté de Scala est cochée.
Pour le préfixe de paquet, entrez une valeur de préfixe de paquet pour les sources de votre projet, par exemple
org.example.application.Assurez-vous que la case Add sample code est cochée.
Cliquez sur Créer.
Étape 3 : Ajouter le package Databricks Connect
Une fois votre nouveau projet Scala ouvert, dans la fenêtre d’outils Project (View > Tool Windows > Project), ouvrez le fichier nommé
build.sbt, dans nom-du-projet> target.Ajoutez le code suivant à la fin du
build.sbtfichier, qui déclare la dépendance de votre projet sur une version spécifique de la bibliothèque Databricks Connect pour Scala, compatible avec la version Databricks Runtime de votre cluster :libraryDependencies += "com.databricks" %% "databricks-connect" % "17.0.+"Remplacez
17.0par la version de la bibliothèque Databricks Connect qui correspond à la version de Databricks Runtime sur votre cluster. Par exemple, Databricks Connect 16.4.+ correspond à Databricks Runtime 16.4 LTS. Vous trouverez les numéros de version de la bibliothèque Databricks Connect dans le référentiel central Maven.Remarque
Lors de la génération avec Databricks Connect, n’incluez pas d’artefacts Apache Spark tels que
org.apache.spark:spark-coredans votre projet. Au lieu de cela, compilez directement sur Databricks Connect.Cliquez sur l’icône de notification Load sbt changes pour mettre à jour votre projet Scala avec la nouvelle bibliothèque et sa dépendance.
Patientez jusqu’à ce que l’indicateur de progression de
sbten bas de l’IDE disparaisse. Le processus de chargement desbtpeut prendre quelques minutes.
Étape 4 : Ajouter du code
Dans la fenêtre d’outils Project, ouvrez le fichier nommé
Main.scala, dans nom-du-projet> src > main > scala.Remplacez le code existant du fichier par le code suivant, puis enregistrez le fichier, en fonction du nom de votre profil de configuration.
Si votre profil de configuration de l’étape 1 se nomme
DEFAULT, remplacez le code existant par le code suivant, puis enregistrez le fichier :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() } }Si votre profil de configuration de l’étape 1 ne se nomme pas
DEFAULT, remplacez le code existant par le code suivant. Remplacez l’espace réservé<profile-name>par le nom de votre profil de configuration défini à l’étape 1, puis enregistrez le fichier :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() } }
Étape 5 : Configurer les options de machine virtuelle
Importez le répertoire actif dans votre instance IntelliJ où
build.sbtse trouve.Choisissez Java 17 dans IntelliJ. Accédez à Fichier>Structure du projet>SDKs.
Ouvrez
src/main/scala/com/examples/Main.scala.Accédez à la configuration de Main pour ajouter des options de machine virtuelle :
Ajoutez les options suivantes à vos machines virtuelles :
--add-opens=java.base/java.nio=ALL-UNNAMED
Conseil / Astuce
Sinon, ou si vous utilisez Visual Studio Code, ajoutez ce qui suit à votre fichier de build sbt :
fork := true
javaOptions += "--add-opens=java.base/java.nio=ALL-UNNAMED"
Exécutez ensuite votre application à partir du terminal :
sbt run
Étape 6 : Exécuter le code
- Démarrez le cluster cible dans votre espace de travail Azure Databricks distant.
- Une fois le cluster démarré, dans le menu principal, cliquez sur Exécuter « > Main ».
- Dans la fenêtre d’outils Run (View > Tool Windows > Run), dans l’onglet Main, les 5 premières lignes du tableau
samples.nyctaxi.tripss’affichent.
Étape 7 : Déboguer le code
Avec le cluster cible toujours en cours d’exécution, dans le code précédent, cliquez dans la marge à côté de
df.limit(5).show()pour définir un point d’arrêt.Dans le menu principal, cliquez sur Exécuter > le débogage « Main ». Dans la fenêtre d’outils Debug (View > Tool Windows > Debug), dans l’onglet Console, cliquez sur l’icône de calculatrice (Évaluer l’expression).
Entrez l’expression
df.schema.Cliquez sur Évaluer pour afficher le schéma du DataFrame.
Dans la barre latérale de la fenêtre Outil Debug , cliquez sur l’icône flèche verte (Reprendre le programme). Les 5 premières lignes du
samples.nyctaxi.tripstableau s’affichent dans le volet Console .