Qu’est-ce que Databricks Connect ?

Remarque

Cet article traite de Databricks Connect pour Databricks Runtime 13.0 et versions ultérieures.

Pour plus d’informations sur la version héritée de Databricks Connect, consultez Databricks Connect pour Databricks Runtime 12.2 LTS et versions antérieures.

Vue d’ensemble

Databricks Connect vous permet de connecter des IDE populaires tels que Visual Studio Code, PyCharm, RStudio Desktop et IntelliJ IDEA ainsi que des serveurs de notebooks et d’autres applications personnalisées aux clusters Azure Databricks. Cet article explique le fonctionnement de Databricks Connect.

Databricks Connect est une bibliothèque de client pour Databricks Runtime. Cela vous permet d’écrire du code à l’aide d’API Spark et de l’exécuter à distance sur un cluster Azure Databricks plutôt que dans la session Spark locale.

Par exemple, lorsque vous exécutez la commande DataFrame spark.read.format(...).load(...).groupBy(...).agg(...).show() à l’aide de Databricks Connect, la représentation logique de la commande est envoyée au serveur Spark s’exécutant dans Azure Databricks pour une exécution sur le cluster distant.

Avec Databricks Connect, vous pouvez :

  • Exécuter du code Spark à grande échelle à partir de n’importe quelle application Python, R ou Scala. Partout où vous pouvez utiliser import pyspark pour Python ou library(sparklyr) pour R ou import org.apache.spark pour Scala, vous pouvez désormais exécuter du code Spark directement à partir de votre application, sans avoir à installer de plug-ins d’IDE ni à utiliser de scripts d’envoi Spark.

    Remarque

    Databricks Connect pour Databricks Runtime 13.0 et versions ultérieures prend en charge l’exécution des applications Python. R et Scala sont pris en charge uniquement dans Databricks Connect pour Databricks Runtime 13.3 LTS et versions ultérieures.

  • Effectuer un pas à pas détaillé et déboguer du code dans votre IDE même lorsque vous travaillez avec un cluster distant.

  • Effectuer des itérations rapides lors du développement de bibliothèques. Vous n’avez pas besoin de redémarrer le cluster après avoir changé les dépendances de bibliothèque Python ou Scala dans Databricks Connect, car chaque session cliente est isolée des autres dans le cluster.

  • Arrêter les clusters inactifs sans perdre votre travail. Étant donné que l’application cliente est dissociée du cluster, elle n’est pas affectée par les redémarrages ou les mises à niveau du cluster, ce qui entraîne normalement la perte de l’ensemble des variables, jeux de données distribués résilients (RDD) et objets DataFrame définis dans un notebook.

Pour Databricks Runtime 13.3 LTS et versions ultérieures, Databricks Connect repose désormais sur l’application open source Spark Connect. Spark Connect introduit une architecture client-serveur découplée pour Apache Spark qui permet la connectivité à distance aux clusters Spark à l’aide de l’API DataFrame et de plans logiques non résolus comme protocole. Avec cette architecture « V2 » basée sur Spark Connect, Databricks Connect devient un client léger simple et facile à utiliser. Spark Connect peut être incorporé partout pour se connecter à Azure Databricks : dans les IDE, les notebooks et les applications, ce qui permet aux utilisateurs et aux partenaires de créer individuellement de nouvelles expériences utilisateur (interactives) basées sur la plateforme Databricks. Pour plus d’informations sur Spark Connect, consultez la page Présentation de Spark Connect.

Databricks Connect détermine où votre code s'exécute et débogue, comme illustré dans la figure suivante.

Figure montrant les exécutions et les débogages du code Databricks Connect

Pour l’exécution du code : tout le code s’exécute localement, tandis que tout le code impliquant des opérations DataFrame s’exécute sur le cluster dans l’espace de travail Azure Databricks distant et les réponses d’exécution sont renvoyées à l’appelant local.

Pour le débogage du code : tout le code est débogué localement, tandis que tout le code Spark 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.

Étapes suivantes