Partager via


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.

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 et configuration 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 ML
    JDK 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 :

  1. 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 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.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 :

    1. Installez curl et zip via WSL. Pour plus d'informations, consultez la documentation de votre système d'exploitation.

    2. 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
      
  2. 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 que command not found: databricks, ou si vous exécutez databricks -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 :

  1. 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 exemple https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --configure-cluster --host <workspace-url>
    
  2. 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 commande databricks auth env --profile <profile-name>.

  3. Dans votre navigateur web, suivez les instructions à l’écran pour vous connecter à votre espace de travail Azure Databricks.

  4. 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.

  5. 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

  1. Démarrez IntelliJ IDEA.

  2. Dans le menu principal, cliquez sur Fichier > Nouveau > Projet.

  3. Donnez à votre projet un Nom significatif.

  4. 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.

  5. Pour Langage, cliquez sur Scala.

  6. Pour Système de build, cliquez sur sbt.

  7. 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.

  8. Dans la liste déroulante sbt, sélectionnez la dernière version.

  9. 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 ML
    2.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.

  10. Vérifiez que la case Télécharger les sources à côté de Scala est cochée.

  11. Pour Préfixe de package, entrez une valeur de préfixe de package pour les sources de votre projet, par exemple, org.example.application.

  12. Vérifiez que la case Ajouter un exemple de code est cochée.

  13. Cliquez sur Créer.

Créer le projet IntelliJ IDEA

Étape 3 : Ajouter le package Databricks Connect

  1. 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.

  2. 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.

  3. 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.

  4. Attendez que l’indicateur de progression sbt au bas de l’IDE disparaisse. Le processus de chargement de sbt peut prendre quelques minutes.

Installer le package Databricks Connect

Étape 4 : Ajouter du code

  1. Dans la fenêtre Outil Projet, ouvrez le fichier nommé Main.scala, dans project-name> src > main > scala.

  2. 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

  1. Démarrer le cluster cible dans votre espace de travail Azure Databricks distant.
  2. Une fois le cluster démarré, dans le menu principal, cliquez sur Exécuter > Exécuter « Main ».
  3. 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

  1. 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.
  2. Dans le menu principal, cliquez sur Exécuter > Déboguer « main ».
  3. 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).
  4. Entrez l’expression df.schema, puis cliquez sur Évaluer pour afficher le schéma du DataFrame.
  5. Dans la barre latérale de la fenêtre Outil de débogage, cliquez sur l’icône flèche verte (Reprendre le programme).
  6. Dans le volet Console, les 5 premières lignes de la table samples.nyctaxi.trips s’affichent.

Déboguer le projet IntelliJ IDEA

Étapes suivantes

Pour en savoir plus sur Databricks Connect, consultez la sélection d’articles suivante :