Databricks Connect pour Scala
Remarque
Cet article présente Databricks Connect pour Databricks Runtime 13.3 LTS et les versions ultérieures.
Cet article montre comment démarrer rapidement avec Databricks Connect en utilisant Scala avec IntelliJ IDEA et le plug-in Scala.
- Pour accéder à la version Python de cet article, consultez Databricks Connect pour Python.
- Pour accéder à la version R de cet article, consultez Databricks Connect pour R.
Databricks Connect vous permet de connecter des IDE courants comme IntelliJ IDEA, des serveurs de notebook et d’autres applications personnalisées aux clusters Azure Databricks. Consultez Qu’est-ce que Databricks Connect ?.
Didacticiel
Pour ignorer ce tutoriel et utiliser un autre IDE à la place, consultez Étapes suivantes.
Spécifications
Pour suivre ce tutoriel, vous devez répondre aux exigences suivantes :
Votre cluster et votre espace de travail Azure Databricks cibles doivent répondre aux exigences de Configuration de cluster pour Databricks Connect.
Vous devez disposer de votre ID de 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’adresse de votre navigateur web, copiez la chaîne de caractères entre
clusters
etconfiguration
dans l’URL.Vous avez le kit de développement Java (JDK) installé sur votre machine de développement. Databricks recommande que la version de l’installation JDK que vous utilisez corresponde à la version JDK sur votre cluster Azure Databricks. Le tableau suivant montre la version JDK pour chaque version Databricks Runtime prise en charge.
Version de Databricks Runtime Version du JDK 13.3 LTS – 15.0,
13.3 ML LTS – 15.0 MLJDK 8 Remarque
Si vous n’avez pas installé de JDK ou si vous avez plusieurs installations JDK sur votre machine de développement, vous pouvez installer ou choisir un JDK spécifique plus tard à l’étape 1. Le choix d’une installation JDK inférieure ou supérieure à la version JDK sur votre cluster peut produire des résultats inattendus, ou votre code peut ne pas s’exécuter du tout.
Vous avez IntelliJ IDEA installé. Ce tutoriel a été testé 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.
Vous avez le plug-in Scala pour IntelliJ IDEA installé.
Étape 1 : configurer l’authentification Azure Databricks
Ce tutoriel utilise l’authentification U2M (utilisateur à machine) OAuth d’Azure Databricks et un profil de configuration Azure Databricks pour l’authentification auprès de votre espace de travail Azure Databricks. Pour utiliser un autre type d’authentification à la place, consultez Configurer les propriétés de connexion.
La configuration de l’authentification U2M OAuth nécessite l’interface CLI Databricks suivante :
Si elle n’est pas déjà installée, installez l’interface CLI Databricks de la manière suivante :
Linux, macOS
Utilisez Homebrew pour installer l’interface CLI Databricks en exécutant les deux commandes suivantes :
brew tap databricks/tap brew install databricks
Windows
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
winget
Chocolatey 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.DatabricksCLI
Pour utiliser Chocolatey pour installer l’interface CLI Databricks, exécutez la commande suivante :
choco install databricks-cli
Pour utiliser WSL pour installer l’interface CLI Databricks :
Installez
curl
etzip
via 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
Remarque
Si vous exécutez
databricks
mais que vous obtenez une erreur telle quecommand not found: databricks
, ou si vous exécutezdatabricks -v
et qu’un numéro de version 0.18 ou inférieur est affiché, votre ordinateur ne trouve pas la version correcte de l’exécutable de l’interface CLI Databricks. Pour résoudre ce problème, consultez Vérifier l’installation de votre interface CLI.
Lancez l’authentification U2M OAuth de la manière qui 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 d’espace de travail Azure Databricks, 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
Enter
pour 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 voir 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 sur votre terminal ou votre ligne de commandes, 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 voir la valeur du jeton OAuth actuel d’un profil et l’horodatage de l’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 présentant la même valeur pour
--host
, il peut être nécessaire de spécifier les options--host
et-p
ensemble pour 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 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 Scala sur votre cluster. Le tableau suivant montre la version Scala pour chaque version Databricks Runtime prise en charge :
Version de Databricks Runtime version de Scala ; 13.3 LTS – 15.0,
13.3 ML LTS – 15.0 ML2.12.15 Remarque
Le choix d’une version Scala inférieure ou supérieure à la version Scala sur votre cluster peut produire des résultats inattendus, ou votre code peut ne pas s’exécuter du tout.
Vérifiez que la case Télécharger les sources à côté de Scala est cochée.
Pour Préfixe de package, entrez une valeur de préfixe de package pour les 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.
Étape 3 : Ajouter 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 project-name> cible.Ajoutez le code suivant à la fin du fichier
build.sbt
, qui déclare la dépendance de votre projet sur 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.
Étape 4 : Ajouter du code
Dans la fenêtre Outil Projet, ouvrez le fichier nommé
Main.scala
, dans project-name> src > main > scala.Remplacez tout code existant dans le 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 est nommé
DEFAULT
, remplacez tout 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() } }
Si votre profil de configuration de l’Étape 1 n’est pas nommé
DEFAULT
, remplacez tout code existant dans le fichier par le code suivant à la place. Remplacez l’espace réservé<profile-name>
par le nom de votre profil de configuration de 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 : Exécuter le code
- Démarrer 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écuter (Afficher > Fenêtres Outil > Exécuter), sous l’onglet Principal, les 5 premières lignes du tableau
samples.nyctaxi.trips
s’affichent.
Étape 6 : déboguer le code
- Le cluster cible étant toujours en cours d’exécution, dans le code précédent, cliquez sur la gouttière à côté de
df.limit(5).show()
pour définir un point d’arrêt. - Dans le menu principal, cliquez sur Exécuter > Déboguer « main ».
- Dans la fenêtre Outil Déboguer (Afficher > Fenêtres Outil > Déboguer), sous l’onglet Console, cliquez sur l’icône 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.
Étapes suivantes
Pour en savoir plus sur Databricks Connect, consultez la sélection d’articles suivante :
Pour utiliser des types d’authentification Azure Databricks autres qu’un jeton d’accès personnel Azure Databricks, consultez Configurer les propriétés de connexion.
Si vous souhaitez utiliser d’autres IDE, consultez ce qui suit :
Pour voir d’autres exemples simples de code, consultez Exemples de code Databricks Connect pour Scala.
Pour consulter des exemples de code plus complexes, consultez exemples d’applications pour le référentiel Databricks Connect dans GitHub, plus précisément :
Pour migrer de Databricks Connect pour Databricks Runtime 12.2 LTS et versions inférieures vers Databricks Connect pour Databricks Runtime 13.3 LTS et versions supérieures, consultez Migrer vers Databricks Connect pour Scala.
Consultez également les informations sur la résolution des problèmes et les limitations.