Databricks Connect pour R
Remarque
Cet article couvre l’intégration sparklyr
à Databricks Connect pour Databricks Runtime 13.0 et versions ultérieures. Cette intégration n’est ni fournie par Databricks ni directement prise en charge par Databricks.
Pour des questions, accédez à la Communauté Posit.
Pour signaler des problèmes, accédez à la section Problèmes du référentiel sparklyr
dans GitHub.
Pour plus d’informations, consultez Databricks Connect v2 dans la documentation sparklyr
.
Cet article montre comment démarrer rapidement avec Databricks Connect à l’aide de R, sparklyr
et RStudio Desktop.
- Pour accéder à la version Python de cet article, consultez Databricks Connect pour Python.
- Pour accéder à la version Scala de cet article, consultez Databricks Connect pour Scala.
Databricks Connect vous permet de connecter des environnements de développement intégré (IDE) populaires tels que RStudio Desktop, des serveurs notebook et d’autres applications personnalisées aux clusters Azure Databricks. Consultez Qu’est-ce que Databricks Connect ?.
Didacticiel
Ce tutoriel utilise RStudio Desktop et Python 3.10. Si vous ne les avez pas déjà installés, installez R et RStudio Desktop et Python 3.10.
Pour plus d’informations sur ce tutoriel, consultez la section « Databricks Connect » de Spark Connect et Databricks Connect v2 sur le site web sparklyr
.
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.
Étape 1 : créer un jeton d’accès personnel
Remarque
Actuellement, l’authentification Databricks Connect pour R prend uniquement en charge les jetons d’accès personnels Azure Databricks.
Ce tutoriel utilise l’authentification par jeton d’accès personnel Azure Databricks pour l’authentification dans votre espace de travail Azure Databricks.
Si vous n’avez pas encore de jeton d’accès personnel Azure Databricks, passez à l’étape 2. Si vous ne savez pas si vous disposez déjà d’un jeton d’accès personnel Azure Databricks, vous pouvez suivre cette étape sans affecter les autres jetons d’accès personnel Azure Databricks de votre compte d’utilisateur.
Pour créer un jeton d’accès personnel :
- Dans votre espace de travail Azure Databricks, cliquez sur votre nom d’utilisateur Azure Databricks dans la barre supérieure, puis sélectionnez Paramètres dans la liste déroulante.
- Cliquez sur Développeur.
- À côté de Jetons d’accès, cliquez sur Gérer.
- Cliquez sur Générer un nouveau jeton.
- (Facultatif) Entrez un commentaire qui vous aide à identifier ce jeton à l’avenir et modifiez sa durée de vie par défaut (90 jours). Pour créer un jeton sans durée de vie (non recommandé), laissez vide la zone Durée de vie (en jours).
- Cliquez sur Générer.
- Copiez le jeton affiché dans un emplacement sécurisé, puis cliquez sur Terminé.
Remarque
Veillez à enregistrer le jeton copié dans un emplacement sécurisé. Ne partagez pas votre jeton copié avec d'autres. Si vous le perdez, vous ne pouvez pas régénérer exactement le même. Vous devez donc répéter cette procédure pour créer un jeton. Si vous perdez le jeton copié ou si vous pensez que le jeton a été compromis, Databricks vous recommande vivement de supprimer immédiatement ce jeton de votre espace de travail en cliquant sur l’icône de la corbeille (Révoquer) à côté du jeton de la page Jetons d’accès.
Si vous n'êtes pas en mesure de créer ou d'utiliser des jetons dans votre espace de travail, cela peut être dû au fait que votre administrateur d'espace de travail a désactivé les jetons ou ne vous a pas donné l'autorisation de créer ou d'utiliser des jetons. Consultez votre administrateur d'espace de travail ou les rubriques suivantes :
Étape 2 : créer le projet
- Démarrez RStudio Desktop.
- Dans le menu principal, cliquez sur Fichier > Nouveau projet.
- Sélectionnez Nouveau répertoire.
- Sélectionnez Nouveau projet.
- Pour Nom du répertoire et Créer un projet en tant que sous-répertoire de, entrez le nom du nouveau répertoire de projet et l’emplacement où créer ce répertoire de projet.
- Sélectionnez Utiliser renv avec ce projet. Si vous êtes invité à installer une version mise à jour du package
renv
, cliquez sur Oui. - Cliquez sur Create Project (Créer le projet).
Étape 3 : ajouter le package Databricks Connect et d’autres dépendances
Dans le menu principal de RStudio Desktop, cliquez sur Outils > Installer des packages.
Laissez Installer à partir de défini sur le Référentiel (CRAN).
Pour Packages, entrez la liste suivante de packages qui sont requis pour le package Databricks Connect et ce tutoriel :
sparklyr,pysparklyr,reticulate,usethis,dplyr,dbplyr
Laissez Installer dans la bibliothèque défini sur votre environnement virtuel R.
Vérifiez que Installer les dépendances est sélectionné.
Cliquez sur Installer.
Lorsque vous êtes invité dans la vue Console (Afficher > Déplacer le focus vers la console) à poursuivre l’installation, entrez
Y
. Les packagessparklyr
etpysparklyr
ainsi que leurs dépendances sont installés dans votre environnement virtuel R.Dans le volet Console, utilisez
reticulate
pour installer Python en exécutant la commande suivante. (Databricks Connect pour R nécessite l’installation préalable dereticulate
et Python.) Dans la commande suivante, remplacez3.10
par la version principale et mineure de la version Python installée sur votre cluster Azure Databricks. Pour trouver cette version majeure et mineure, consultez la section « Environnement système » des notes de publication de la version Databricks Runtime de votre cluster dans Notes de publication sur les versions et la compatibilité de Databricks Runtime.reticulate::install_python(version = "3.10")
Dans le volet Console, installez le package Databricks Connect en exécutant la commande suivante. Dans la commande suivante, remplacez
13.3
par la version de Databricks Runtime installée sur votre cluster Azure Databricks. Pour trouver cette version, sur la page des détails de votre cluster dans votre espace de travail Azure Databricks, sous l’onglet Configuration, consultez la zone Version de Databricks Runtime.pysparklyr::install_databricks(version = "13.3")
Si vous ne connaissez pas la version de Databricks Runtime de votre cluster ou si vous ne souhaitez pas la rechercher, vous pouvez exécuter la commande suivante à la place et
pysparklyr
interrogera le cluster pour déterminer la version correcte de Databricks Runtime à utiliser :pysparklyr::install_databricks(cluster_id = "<cluster-id>")
Si vous souhaitez que votre projet se connecte ultérieurement à un autre cluster qui a la même version de Databricks Runtime que celle que vous venez de spécifier,
pysparklyr
utilisera le même environnement Python. Si le nouveau cluster a une autre version de Databricks Runtime, vous devez réexécuter la commandepysparklyr::install_databricks
avec la nouvelle version de Databricks Runtime ou l’ID de cluster.
Étape 4 : définir des variables d’environnement pour l’URL de l’espace de travail, le jeton d’accès et l’ID de cluster
Databricks ne vous recommande pas de coder en dur des valeurs sensibles ou modifiables telles que l’URL de votre espace de travail Azure Databricks, le jeton d’accès personnel Azure Databricks ou l’ID de cluster Azure Databricks dans vos scripts R. Au lieu de cela, stockez ces valeurs séparément, par exemple dans des variables d’environnement locales. Ce tutoriel utilise la prise en charge intégrée de RStudio Desktop pour stocker des variables d’environnement dans un fichier .Renviron
.
Créez un fichier
.Renviron
pour stocker les variables d’environnement, si ce fichier n’existe pas déjà, puis ouvrez ce fichier pour la modification : dans la console de RStudio Desktop, exécutez la commande suivante :usethis::edit_r_environ()
Dans le fichier
.Renviron
qui s’affiche (Afficher > Déplacer le focus vers la source), entrez le contenu suivant. Dans ce contenu, remplacez les espaces réservés suivants :- Remplacez
<workspace-url>
par votre URL par espace de travail, par exemplehttps://adb-1234567890123456.7.azuredatabricks.net
. - Remplacez
<personal-access-token>
par votre jeton d’accès personnel Azure Databricks obtenu à l’étape 1. - Remplacez
<cluster-id>
par l’ID de votre cluster obtenu dans les prérequis de ce tutoriel.
DATABRICKS_HOST=<workspace-url> DATABRICKS_TOKEN=<personal-access-token> DATABRICKS_CLUSTER_ID=<cluster-id>
- Remplacez
Enregistrez le fichier
.Renviron
.Chargez les variables d’environnement dans R : dans le menu principal, cliquez sur Session > Redémarrer R.
Étape 5 : ajouter un code
Dans le menu principal de RStudio Desktop, cliquez sur Fichier > Nouveau fichier > Script R.
Entrez le code suivant dans le fichier, puis enregistrez le fichier (Fichier > Enregistrer) en tant que
demo.R
:library(sparklyr) library(dplyr) library(dbplyr) sc <- sparklyr::spark_connect( master = Sys.getenv("DATABRICKS_HOST"), cluster_id = Sys.getenv("DATABRICKS_CLUSTER_ID"), token = Sys.getenv("DATABRICKS_TOKEN"), method = "databricks_connect", envname = "r-reticulate" ) trips <- dplyr::tbl( sc, dbplyr::in_catalog("samples", "nyctaxi", "trips") ) print(trips, n = 5)
Étape 6 : Exécuter le code
Dans RStudio Desktop, dans la barre d’outils du fichier
demo.R
, cliquez sur Source.Dans la console, les cinq premières lignes de la table
trips
s’affichent.Dans la vue Connexions (Afficher > Afficher les connexions), vous pouvez explorer les catalogues, schémas, tables et vues disponibles.
Étape 7 : Déboguer le code
- Dans le fichier
demo.R
, cliquez sur la gouttière en regard deprint(trips, n = 5)
pour définir un point d’arrêt. - Dans la barre d’outils du fichier
demo.R
, cliquez sur Source. - Lorsque le code arrête l’exécution au point d’arrêt, vous pouvez inspecter la variable dans la vue Environnement (Afficher > Afficher l’environnement).
- Dans le menu principal, cliquez sur Déboguer > Continuer.
- Dans la console, les cinq premières lignes de la table
trips
s’affichent.