Partager via


Utiliser Visual Studio Code 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 avec Visual Studio Code. Databricks Connect vous permet de connecter des IDE, des serveurs de notebooks et autres applications personnalisées populaires aux clusters Azure Databricks. Consultez la rubrique Qu’est-ce que Databricks Connect ?. Pour découvrir la version Python de cet article, consultez la documentation Utiliser Visual Studio Code avec Databricks Connect pour Python.

Remarque

Avant de commencer à utiliser Databricks Connect, vous devez configurer le client Databricks Connect.

Pour utiliser Databricks Connect et Visual Studio Code avec l’extension Scala (Metals) afin de créer, d’exécuter et de déboguer un exemple de projet Scala sbt, suivez ces instructions. Vous pouvez également adapter cet exemple à vos projets Scala existants.

  1. Vérifiez que JDK (Java Development Kit) et Scala sont installés localement. Databricks recommande que les versions locales de JDK et de Scala correspondent aux versions de JDK et de Scala sur votre cluster Azure Databricks.

  2. Vérifiez que la dernière version de sbt est installée localement.

  3. Installez l’extension Scala (Metals) pour Visual Studio Code.

  4. Dans Visual Studio Code, ouvrez le dossier dans lequel vous souhaitez créer votre projet Scala (Fichier > Ouvrir le dossier).

  5. Dans la barre latérale, cliquez sur l’icône d’extension Metals, puis sur Nouveau projet Scala.

  6. Dans la palette de commandes, choisissez le modèle nommé scala/hello-world.g8, puis suivez les instructions qui s’affichent à l’écran pour finir de créer le projet Scala dans le dossier spécifié.

  7. Ajoutez les paramètres de build du projet. Dans la vue Explorateur (Affichage > Explorateur), ouvrez le fichier build.sbt à partir de la racine du projet, remplacez le contenu du fichier par ce qui suit, puis enregistrez le fichier :

    scalaVersion := "2.12.15"
    
    libraryDependencies += "com.databricks" % "databricks-connect" % "14.0.0"
    

    Remplacez 2.12.15 par la version installée de Scala, qui doit correspondre à la version incluse dans la version de Databricks Runtime sur votre cluster.

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

  8. Ajoutez du code Scala. Ouvrez le fichier src/main/scala/Main.scala par rapport à la racine du projet, remplacez le contenu du fichier par ce qui suit, puis enregistrez le fichier :

    import com.databricks.connect.DatabricksSession
    import org.apache.spark.sql.SparkSession
    
    object Main extends App {
      val spark = DatabricksSession.builder().remote().getOrCreate()
      val df = spark.read.table("samples.nyctaxi.trips")
      df.limit(5).show()
    }
    
  9. Générez le projet. Exécutez la commande >Metals : Importer la build à partir de la palette de commandes.

  10. Ajoutez des paramètres d’exécution de projet : dans l’affichage Exécuter et déboguer (Afficher > Exécuter), cliquez sur le lien intitulé Créer un fichier launch.json.

  11. Dans la palette de commandes, sélectionnez Débogueur Scala.

  12. Ajoutez la configuration d’exécution suivante au fichier launch.json, puis enregistrez le fichier :

    {
      // Use IntelliSense to learn about possible attributes.
      // Hover to view descriptions of existing attributes.
      // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
      "version": "0.2.0",
      "configurations": [
        {
          "type": "scala",
          "request": "launch",
          "name": "Scala: Run main class",
          "mainClass": "Main",
          "args": [],
          "jvmOptions": []
        }
      ]
    }
    
  13. Exécutez le projet. Cliquez sur l’icône de lecture (Démarrer le débogage) en regard de Scala : Exécuter la classe main. Dans la vue Console de débogage (Affichage > Console de débogage), 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.

  14. Déboguez le projet. Définissez des points d’arrêt dans votre code, puis cliquez à nouveau sur l’icône de lecture. Tout le code Scala est débogué localement, alors que l’ensemble du code Scala continue de s’exécuter sur le cluster dans l’espace de travail Azure Databricks distant. Le code principal du moteur Spark ne peut pas être débogué directement à partir du client.