Partager via


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.

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 espace de travail et cluster Azure Databricks cible doivent répondre aux exigences de configuration de calcul 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.

É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, suivez les étapes décrites dans Les jetons d’accès personnels Azure Databricks pour les utilisateurs de l’espace de travail.

Étape 2 : créer le projet

  1. Démarrez RStudio Desktop.
  2. Dans le menu principal, cliquez sur Fichier > Nouveau projet.
  3. Sélectionnez Nouveau répertoire.
  4. Sélectionnez Nouveau projet.
  5. 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.
  6. Sélectionnez Utiliser renv avec ce projet. Si vous êtes invité à installer une version mise à jour du package renv, cliquez sur Oui.
  7. Cliquez sur Create Project (Créer le projet).

Créer le projet RStudio Desktop

Étape 3 : ajouter le package Databricks Connect et d’autres dépendances

  1. Dans le menu principal de RStudio Desktop, cliquez sur Outils > Installer des packages.

  2. Laissez Installer à partir de défini sur le Référentiel (CRAN).

  3. 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
    
  4. Laissez Installer dans la bibliothèque défini sur votre environnement virtuel R.

  5. Vérifiez que Installer les dépendances est sélectionné.

  6. Cliquez sur Installer.

Installer les dépendances du package Databricks Connect

  1. Lorsque vous êtes invité dans la vue Console (Afficher > Déplacer le focus vers la console) à poursuivre l’installation, entrez Y. Les packages sparklyr et pysparklyr ainsi que leurs dépendances sont installés dans votre environnement virtuel R.

  2. 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 de reticulate et Python.) Dans la commande suivante, remplacez 3.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")
    
  3. 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 commande pysparklyr::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.

  1. 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()
    
  2. 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 exemple https://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>
    
  3. Enregistrez le fichier .Renviron.

  4. Chargez les variables d’environnement dans R : dans le menu principal, cliquez sur Session > Redémarrer R.

Définir les variables d’environnement pour Databricks Connect

Étape 5 : ajouter un code

  1. Dans le menu principal de RStudio Desktop, cliquez sur Fichier > Nouveau fichier > Script R.

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

  1. Dans RStudio Desktop, dans la barre d’outils du fichier demo.R, cliquez sur Source.

    Exécuter le projet RStudio Desktop

  2. Dans la console, les cinq premières lignes de la table trips s’affichent.

  3. Dans la vue Connexions (Afficher > Afficher les connexions), vous pouvez explorer les catalogues, schémas, tables et vues disponibles.

    Affichage Connexions pour le projet

Étape 7 : Déboguer le code

  1. Dans le fichier demo.R, cliquez sur la gouttière en regard de print(trips, n = 5) pour définir un point d’arrêt.
  2. Dans la barre d’outils du fichier demo.R, cliquez sur Source.
  3. 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).
  4. Dans le menu principal, cliquez sur Déboguer > Continuer.
  5. Dans la console, les cinq premières lignes de la table trips s’affichent.

Déboguer le projet RStudio Desktop