Condividi tramite


Databricks Connect per R

Nota

Questo articolo illustra sparklyr l'integrazione con Databricks Connect per Databricks Runtime 13.0 e versioni superiori. Questa integrazione non è fornita né da Databricks né direttamente supportata da Databricks.

Per domande, visitare la Posit Community.

Per segnalare i problemi, andare alla sezione Segnalazioni del sparklyr repository in GitHub.

Per altre informazioni, consultare Databricks Connect v2 nella sparklyr documentazione.

Databricks Connect consente di connettere gli IDE più diffusi, come RStudio Desktop, server notebook e altre applicazioni personalizzate ai cluster Azure Databricks. Consultare Cos’è Databricks Connect?.

Nota

Databricks Connect ha una compatibilità limitata con Apache Spark MLlib, perché Spark MLlib usa RDD, mentre Databricks Connect supporta solo l'API DataFrame. Per utilizzare tutte le funzioni Spark MLlib di Sparklyr, utilizzare i notebook Databricks o la db_repl funzione del pacchetto brickster.

Questo articolo illustra come iniziare rapidamente a usare Databricks Connect per R usando sparklyr e RStudio Desktop.

Esercitazione

Nel seguente tutorial, creerai un progetto in RStudio, installerai e configurerai Databricks Connect per Databricks Runtime 13.3 LTS e versioni successive, ed eseguirai codice semplice nel tuo ambiente Databricks da RStudio. Per informazioni supplementari su questa esercitazione, consultare la sezione "Databricks Connect" di Spark Connect e Databricks Connect v2 nel sparklyr sito Web.

Questa esercitazione usa RStudio Desktop e Python 3.10. Se non sono già installati, installare R e RStudio Desktop e Python 3.10.

Requisiti

Per completare questa esercitazione, è necessario soddisfare i requisiti seguenti:

  • L'area di lavoro e il cluster di Azure Databricks di destinazione devono soddisfare i requisiti per la configurazione di calcolo per Databricks Connect.
  • È necessario avere a disposizione il proprio ID del cluster. Per ottenere l'ID cluster, nell'area di lavoro fare clic su Calcolo sulla barra laterale e quindi sul nome del cluster. Nella barra degli indirizzi del Web browser copiare la stringa di caratteri tra clusters e configuration nell'URL.

Step 1: Creare un token di accesso personale

Nota

Databricks Connect per R attualmente supporta solo l'autenticazione con token di accesso personale di Azure Databricks.

Questa esercitazione usa l'autenticazione del token di accesso personale di Azure Databricks per accedere all'area di lavoro di Azure Databricks.

Se si ha già un token di accesso personale di Azure Databricks, passare al Passo 2. Se non si è certi di avere già un token di accesso personale di Azure Databricks, è possibile seguire questo passaggio senza influire sugli altri token di accesso personali di Azure Databricks nell'account utente.

Per creare un token di accesso personale, seguire la procedura descritta in Creare token di accesso personali per gli utenti dell'area di lavoro.

Step 2: Creare il progetto

  1. Avviare RStudio Desktop.
  2. Dal menu principale, fare click su File > Nuovo progetto.
  3. Selezionare Nuova Directory.
  4. Selezionare Nuovo progetto.
  5. Per Nome directory e Crea progetto come sottodirectory di, inserire il nome della nuova directory del progetto e dove crearla.
  6. Selezionare Usa renv con questo progetto. Se viene richiesto di installare una versione aggiornata del renv pacchetto, fare clic su .
  7. Fare clic su Crea progetto.

Creare il progetto RStudio Desktop

Step 3: Aggiungere il pacchetto Databricks Connect e altre dipendenze

  1. Nel menu principale di RStudio Desktop fare clic su Strumenti > Installa pacchetti.

  2. Lasciare Installa da impostato su Repository (CRAN).

  3. Per Pacchetti immettere l'elenco seguente di pacchetti che sono prerequisiti per il pacchetto Databricks Connect e questa esercitazione:

    sparklyr,pysparklyr,reticulate,usethis,dplyr,dbplyr
    
  4. Lasciare Installa nella libreria impostato per l'ambiente virtuale R.

  5. Assicurarsi che l'opzione Installa dipendenze sia selezionata.

  6. Cliccare Installa.

Installare le dipendenze del pacchetto Databricks Connect

  1. Quando ti viene chiesto nella visualizzazione Console (Visualizza > Sposta stato attivo sulla console) di procedere con l'installazione, digitare Y. I pacchetti sparklyr e pysparklyr le relative dipendenze sono installati nell'ambiente virtuale R.

  2. Nel riquadro Console usare reticulate per installare Python eseguendo il seguente comando. (Databricks Connect per R richiede che prima vengano installati reticulate e Python.) Nel seguente comando sostituire 3.10 con la versione principale e secondaria della versione di Python installata nel cluster Azure Databricks. Per individuare questa versione principale e secondaria, consulta la sezione "Ambiente di sistema" delle note sulla versione per la versione di Databricks Runtime del tuo cluster in Versioni e compatibilità delle note sulla versione di Databricks Runtime.

    reticulate::install_python(version = "3.10")
    
  3. Nel riquadro Console installare il pacchetto Databricks Connect eseguendo il comando seguente. Nel seguente comando sostituire 13.3 con la versione di Databricks Runtime installata nel cluster Azure Databricks. Per trovare questa versione, nella pagina dei dettagli del cluster nell'area di lavoro di Azure Databricks, nella scheda Configurazione vedere la casella Versione di Databricks Runtime .

    pysparklyr::install_databricks(version = "13.3")
    

    Se non si conosce la versione di Databricks Runtime per il cluster o non si vuole cercarla, è invece possibile eseguire il comando seguente ed pysparklyr eseguire una query sul cluster per determinare la versione corretta di Databricks Runtime da usare:

    pysparklyr::install_databricks(cluster_id = "<cluster-id>")
    

    Se si vuole che il progetto si connetta in un secondo momento a un cluster diverso con la stessa versione di Databricks Runtime rispetto a quella appena specificata, pysparklyr userà lo stesso ambiente Python. Se il nuovo cluster ha una versione diversa di Databricks Runtime, è necessario eseguire di nuovo il comando pysparklyr::install_databricks con la nuova versione di Databricks Runtime o l'ID cluster.

Step 4: Impostare le variabili d’ambiente per l'URL dell'area di lavoro, il token di accesso e l'ID cluster

Databricks non consiglia di inserire direttamente valori sensibili o soggetti a modifiche, come l'URL dell'area di lavoro di Azure Databricks, il token di accesso personale di Azure Databricks o l'ID cluster di Azure Databricks, nei tuoi script R. Archiviare invece questi valori separatamente, ad esempio nelle variabili di ambiente locali. Questa esercitazione usa il supporto predefinito di RStudio Desktop per l'archiviazione delle variabili di ambiente in un .Renviron file.

  1. Se non esiste già, creare un file .Renviron per archiviare le variabili d’ambiente, quindi aprire il file per la modifica: nella Console di RStudio Desktop eseguire il seguente comando:

    usethis::edit_r_environ()
    
  2. Nel file .Renviron che appare (Visualizza > Sposta Focus sulla Sorgente) immettere il contenuto seguente. Nel presente contenuto, sostituire i seguenti segnaposto:

    • Sostituire <workspace-url> con l'URL per area di lavoro, ad esempio https://adb-1234567890123456.7.azuredatabricks.net.
    • Sostituire <personal-access-token> con il token di accesso personale di Azure Databricks dalla Fase 1.
    • Sostituire <cluster-id> con l'ID cluster in base ai requisiti di questa esercitazione.
    DATABRICKS_HOST=<workspace-url>
    DATABRICKS_TOKEN=<personal-access-token>
    DATABRICKS_CLUSTER_ID=<cluster-id>
    
  3. Salvare il file .Renviron.

  4. Caricare le variabili d’ambiente in R: nel menu principale fare clic su Sessione > riavvio R.

Impostare le variabili d’ambiente per Databricks Connect

Step 5: Aggiungere codice

  1. Nel menu principale di RStudio Desktop fare clic su File > Nuovo file > R Script.

  2. Immettere il seguente codice nel file e quindi salvare il file (File > Save) come 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)
    

Step 6: Eseguire il codice

  1. Nella barra degli strumenti del file demo.R di RStudio Desktop, fare clic su Sorgente.

    Eseguire il progetto RStudio Desktop

  2. Nella Console vengono visualizzate le prime cinque righe della trips tabella.

  3. Nella schermata Connessioni (Visualizza > Mostra connessioni) è possibile esplorare i cataloghi, gli schemi, le tabelle e le viste disponibili.

    La vista Connessioni per il progetto

Step 7: Eseguire il debug del codice

  1. Nel file demo.R fare clic sulla barra accanto a print(trips, n = 5) per impostare un punto di interruzione.
  2. Nella barra degli strumenti del file demo.R fare clic su Sorgente.
  3. Quando il codice viene sospeso in esecuzione nel punto di interruzione, è possibile esaminare la variabile nella vista Ambiente (Visualizza > Mostra ambiente).
  4. Dal menu principale scegliere Debug > Continua.
  5. Nella Console vengono visualizzate le prime cinque righe della trips tabella.

Eseguire il debug del progetto RStudio Desktop