Utiliser IntelliJ IDEA avec Databricks Connect pour Scala
Remarque
Cet article présente Databricks Connect pour Databricks Runtime 13.3 LTS et les versions ultérieures.
Cet article explique comment utiliser Databricks Connect pour Scala et IntelliJ IDEA avec le plug-in Scala. Databricks Connect vous permet de connecter des IDE populaires, des serveurs notebook et d’autres applications personnalisées aux clusters Azure Databricks. Consultez Qu’est-ce que Databricks Connect ?.
Remarque
Avant de commencer à utiliser Databricks Connect, vous devez configurer le client Databricks Connect.
Pour utiliser Databricks Connect et IntelliJ IDEA avec le plug-in Scala afin de créer, d’exécuter et de déboguer un exemple de projet Scala sbt
, suivez ces instructions. Ces instructions ont été testées avec IntelliJ IDEA Community Edition 2023.3.6. Si vous utilisez une version ou une édition différente d’IntelliJ IDEA, les instructions suivantes peuvent varier.
Vérifiez que JDK (Java Development Kit) est installé localement. Databricks recommande que la version locale de JDK corresponde à la version de JDK sur votre cluster Azure Databricks.
Démarrez IntelliJ IDEA.
Cliquez sur Fichier > Nouveau > Projet.
Donnez à votre projet un Nom significatif.
Pour Emplacement, cliquez sur l’icône de dossier, puis suivez les instructions à l’écran pour spécifier le chemin de votre nouveau projet Scala.
Pour Langage, cliquez sur Scala.
Pour Système de build, cliquez sur sbt.
Dans la liste déroulante JDK, sélectionnez une installation existante de JDK sur votre machine de développement qui correspond à la version du JDK de votre cluster, ou sélectionnez Télécharger JDK, puis suivez les instructions à l’écran pour télécharger un JDK qui correspond à la version du JDK de votre cluster.
Remarque
Le choix d’une installation de JDK dont la version est supérieure ou inférieure à la version du JDK de votre cluster peut produire des résultats inattendus. Il se peut même que votre code ne s’exécute pas du tout.
Dans la liste déroulante sbt, sélectionnez la dernière version.
Dans la liste déroulante Scala, sélectionnez la version de Scala qui correspond à la version de Scala sur votre cluster.
Remarque
Le choix d’une version de Scala inférieure ou supérieure à la version de Scala de votre cluster peut produire des résultats inattendus. Il se peut même que votre code ne s’exécute pas du tout.
Pour Préfixe de package, entrez une valeur de préfixe de package correspondant aux sources de votre projet, par exemple
org.example.application
.Vérifiez que la case Ajouter un exemple de code est cochée.
Cliquez sur Créer.
Ajoutez le package Databricks Connect. Une fois votre nouveau projet Scala ouvert, dans la fenêtre Outil Projet (Afficher > Fenêtres Outil > Projet), ouvrez le fichier nommé
build.sbt
, dans nom-projet> cible.Ajoutez le code suivant à la fin du fichier
build.sbt
, pour déclarer la dépendance de votre projet par rapport à une version spécifique de la bibliothèque Databricks Connect pour Scala :libraryDependencies += "com.databricks" % "databricks-connect" % "14.3.1"
Remplacez
14.3.1
par la version de la bibliothèque Databricks Connect qui correspond à la version de Databricks Runtime sur votre cluster. Vous trouverez les numéros de version de la bibliothèque Databricks Connect dans le dépôt central Maven.Cliquez sur l’icône de notification Charger les changements de sbt pour mettre à jour votre projet Scala avec le nouvel emplacement et la nouvelle dépendance de bibliothèque.
Attendez que l’indicateur de progression
sbt
au bas de l’IDE disparaisse. Le processus de chargement desbt
peut prendre quelques minutes.Ajoutez du code. Dans la fenêtre Outil Projet, ouvrez le fichier nommé
Main.scala
, dans nom-projet> src > main > scala.Remplacez le code existant dans le fichier 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() } }
Exécutez 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 > Exécuter « Main ».
Dans la fenêtre Outil Exécution (Affichage > Fenêtres Outil > Exécution), sous l’onglet Main, les 5 premières lignes de la table
samples.nyctaxi.trips
s’affichent. Tout le code Scala s’exécute localement. En revanche, l’ensemble du code Scala impliquant des opérations DataFrame s’exécute sur le cluster de l’espace de travail Azure Databricks distant, et les réponses d’exécution sont renvoyées à l’appelant local.Déboguez le code. Démarrez le cluster cible dans votre espace de travail Azure Databricks distant, s’il n’est pas déjà en cours d’exécution.
Dans le code précédent, cliquez sur la gouttière en regard de
df.limit(5).show()
pour définir un point d’arrêt.Une fois le cluster démarré, dans le menu principal, cliquez sur Exécuter > Déboguer « Main ».
Dans la fenêtre Outil Débogage (Affichage > Fenêtres Outil > Débogage), sous l’onglet Console, cliquez sur l’icône de calculatrice (Évaluer l’expression).
Entrez l’expression
df.schema
, puis cliquez sur Évaluer pour afficher le schéma du DataFrame.Dans la barre latérale de la fenêtre Outil de débogage, cliquez sur l’icône flèche verte (Reprendre le programme).
Dans le volet Console, les 5 premières lignes de la table
samples.nyctaxi.trips
s’affichent. Tout le code Scala s’exécute localement. En revanche, l’ensemble du code Scala impliquant des opérations DataFrame s’exécute sur le cluster de l’espace de travail Azure Databricks distant, et les réponses d’exécution sont renvoyées à l’appelant local.