Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server 2019 (15.x)
Important
I cluster Big Data di Microsoft SQL Server 2019 sono stati ritirati. Il supporto per i cluster Big Data di SQL Server 2019 è terminato a partire dal 28 febbraio 2025. Per altre informazioni, vedere il post di blog sull'annuncio e le opzioni per Big Data nella piattaforma Microsoft SQL Server.
Sparklyr offre un'interfaccia R per Apache Spark. Sparklyr è un modo comune per gli sviluppatori R di usare Spark. Questo articolo descrive come usare sparklyr in un cluster Big Data di SQL Server 2019 usando RStudio.
Prerequisites
Installare R e RStudio Desktop
Installare e configurare RStudio Desktop con la procedura seguente:
Se stai usando un client Windows, scarica e installa R 3.6.3. Scaricare e installare RTools 3.5. Assicurarsi di configurare la cartella binaria RTools nella variabile di ambiente PATH.
Warning
Le versioni di R 4.x e sparklyr diverse da quella specificata di seguito sono state verificate che non funzionano con SQL Server Big Data Clusters CU13.
Scaricare e installare RStudio Desktop. Facoltativamente, tutti gli esempi funzionano nella shell R.
Al termine dell'installazione, eseguire i comandi seguenti all'interno della shell RStudio Desktop o R per installare i pacchetti necessari. Quando richiesto, confermare la compilazione di pacchetti dal codice sorgente.
install.packages("devtools")
devtools::install_github('rstudio/sparklyr', ref = 'v1.7.0', upgrade = 'always', repos = 'https://cran.microsoft.com/snapshot/2021-06-11/')
Connettersi a Spark in un cluster di big data
È possibile usare sparklyr per connettersi da un client al cluster Big Data usando Livy e il gateway HDFS/Spark.
In RStudio creare uno script R e connettersi a Spark come nell'esempio seguente:
Tip
Per i valori <AZDATA_USERNAME> e <AZDATA_PASSWORD>, usare il nome utente e la password impostati durante la distribuzione del cluster Big Data.
A partire da SQL Server 2019 (15.x) CU 5, quando si distribuisce un nuovo cluster con autenticazione di base, tutti gli endpoint, incluso il gateway, usano AZDATA_USERNAME e AZDATA_PASSWORD. Gli endpoint nei cluster aggiornati a CU 5 continuano a usare root come nome utente per connettersi all'endpoint del gateway. Questa modifica non si applica alle distribuzioni che usano l'autenticazione di Active Directory. Consulta Credenziali per l'accesso ai servizi tramite l'endpoint del gateway nelle note di rilascio.
Per valori <IP> e <PORT>, consultare la documentazione sul collegamento a un cluster big data.
library(sparklyr)
library(dplyr)
library(DBI)
#Specify the Knox username and password
config <- livy_config(user = "<AZDATA_USERNAME>", password = "<AZDATA_PASSWORD>")
httr::set_config(httr::config(ssl_verifypeer = 0L, ssl_verifyhost = 0L))
sc <- spark_connect(master = "https://<IP>:<PORT>/gateway/default/livy/v1",
method = "livy",
config = config)
Eseguire query Sparklyr
Dopo la connessione a Spark, è possibile eseguire sparklyr. L'esempio seguente esegue una query sul iris set di dati usando sparklyr:
iris_tbl <- copy_to(sc, iris)
iris_count <- dbGetQuery(sc, "SELECT COUNT(*) FROM iris")
iris_count
Calcoli R distribuiti
Una funzionalità di sparklyr è la possibilità di distribuire calcoli R con spark_apply.
Poiché i cluster Big Data usano connessioni Livy, è necessario impostare packages = FALSE nella chiamata a spark_apply. Per altre informazioni, vedere la sezione Livy della documentazione di Sparklyr sui calcoli R distribuiti. Con questa impostazione, è possibile usare solo i pacchetti R già installati nel cluster Spark nel codice R passato a spark_apply. L'esempio seguente illustra questa funzionalità:
iris_tbl %>% spark_apply(function(e) nrow(e), names = "nrow", group_by = "Species", packages = FALSE)
Next steps
Per altre informazioni sui cluster Big Data, vedere Che cosa sono i cluster Big Data di SQL Server 2019.