Utiliser sparklyr dans SQL Server Cluster Big DataUse sparklyr in SQL Server big data cluster

CETTE RUBRIQUE S’APPLIQUE À : ouiSQL Server nonAzure SQL DatabasenonAzure SQL Data Warehouse nonParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Sparklyr fournit une interface R pour Apache Spark.Sparklyr provides an R interface for Apache Spark. Sparklyr est un moyen populaire pour les développeurs de R d’utiliser Spark.Sparklyr is a popular way for R developers to use Spark. Cet article explique comment utiliser sparklyr dans un cluster SQL Server 2019 Big Data (version préliminaire) à l’aide de RStudio.This article describes how to use sparklyr in a SQL Server 2019 big data cluster (preview) using RStudio.

PrérequisPrerequisites

Installer RStudio DesktopInstall RStudio Desktop

Installez et configurez RStudio Desktop en procédant comme suit:Install and configure RStudio Desktop with the following steps:

  1. Si vous exécutez sur un client Windows, Téléchargez et installez R 3.4.4.If you are running on a Windows client, download and install R 3.4.4.

  2. Téléchargez et installez RStudio Desktop.Download and install RStudio Desktop.

  3. Une fois l’installation terminée, exécutez les commandes suivantes à l’intérieur de RStudio Desktop pour installer les packages requis:After installation completes, run the following commands inside of RStudio Desktop to install the required packages:

    install.packages("DBI", repos = "https://cran.microsoft.com/snapshot/2019-01-01")
    install.packages("dplyr", repos = "https://cran.microsoft.com/snapshot/2019-01-01")
    install.packages("sparklyr", repos = "https://cran.microsoft.com/snapshot/2019-01-01")
    

Se connecter à Spark dans un cluster Big DataConnect to Spark in a big data cluster

Vous pouvez utiliser sparklyr pour vous connecter à partir d’un client au cluster Big Data à l’aide de livy et de la passerelle HDFS/Spark.You can use sparklyr to connect from a client to the big data cluster using Livy and the HDFS/Spark gateway.

Dans RStudio, créez un script R et connectez-vous à Spark comme dans l’exemple suivant:In RStudio, create an R script and connect to Spark as in the following example:

Conseil

Pour les <USERNAME> valeurs <PASSWORD> et, utilisez le nom d’utilisateur (par exemple, racine) et le mot de passe que vous définissez lors du déploiement du cluster Big Data.For the <USERNAME> and <PASSWORD> values, use the username (such as root) and password you set during the big data cluster deployment. Pour obtenir <IP> les <PORT> valeurs et, consultez la documentation sur la connexion à un cluster Big Data.For the <IP> and <PORT> values, see the documentation on connecting to a big data cluster.

library(sparklyr)
library(dplyr)
library(DBI)

#Specify the Knox username and password
config <- livy_config(user = "<username>", password = "<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)

Exécuter des requêtes sparklyrRun sparklyr queries

Après vous être connecté à Spark, vous pouvez exécuter sparklyr.After connecting to Spark, you can run sparklyr. L’exemple suivant exécute une requête sur un jeu de données IRIS à l’aide de sparklyr:The following example performs a query on iris dataset using sparklyr:

iris_tbl <- copy_to(sc, iris)

iris_count <- dbGetQuery(sc, "SELECT COUNT(*) FROM iris")

iris_count

Calculs R distribuésDistributed R computations

L’une des fonctionnalités de sparklyr est la possibilité de distribuer des calculs R avec spark_apply.One feature of sparklyr is the ability to distribute R computations with spark_apply.

Étant donné que les clusters Big Data utilisent des connexions livy packages = FALSE , vous devez définir dans l’appel à spark_apply.Because big data clusters use Livy connections, you must set packages = FALSE in the call to spark_apply. Pour plus d’informations, consultez la section livy de la documentation sparklyr sur les calculs R distribués.For more information, see the Livy section of the sparklyr documentation on distributed R computations. Avec ce paramètre, vous ne pouvez utiliser que les packages R déjà installés sur votre cluster Spark dans le code R transmis à spark_apply.With this setting, you can only use the R packages that are already installed on your Spark cluster in the R code passed to spark_apply. L’exemple suivant illustre cette fonctionnalité:The following example demonstrates this functionality:

iris_tbl %>% spark_apply(function(e) nrow(e), names = "nrow", group_by = "Species", packages = FALSE)

Étapes suivantesNext steps

Pour plus d’informations sur les clusters Big Data, consultez que sont les clusters SQL Server 2019 Big Data.For more information about big data clusters, see What are SQL Server 2019 big data clusters.