Utiliser sparklyr dans un cluster de données volumineux de SQL ServerUse sparklyr in SQL Server big data cluster

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2019)nonAzure SQL DatabasenonAzure SQL Data Warehouse nonParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2019)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 R d’utiliser Spark.Sparklyr is a popular way for R developers to use Spark. Cet article décrit comment utiliser sparklyr dans un cluster de données volumineuses de SQL Server 2019 (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

Installer et configurer 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écharger et installer 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 de données volumineuxConnect to Spark in a big data cluster

Vous pouvez utiliser sparklyr pour se connecter à partir d’un client pour le cluster de données volumineux à l’aide de Livy et 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 se connecter à Spark comme dans l’exemple suivant :In RStudio, create an R script and connect to Spark as in the following example:

Conseil

Pour le <USERNAME> et <PASSWORD> valeurs, utilisez le nom d’utilisateur (par exemple, la racine) et le mot de passe définis lors du déploiement de cluster de données volumineuses.For the <USERNAME> and <PASSWORD> values, use the username (such as root) and password you set during the big data cluster deployment. Pour le <IP> et <PORT> valeurs, consultez la documentation sur connexion à un cluster de données volumineuses.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 la connexion à Spark, vous pouvez exécuter sparklyr.After connecting to Spark, you can run sparklyr. L’exemple suivant effectue une requête de dataset 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

Effectuer des calculs R distribuésDistributed R computations

Une fonctionnalité de sparklyr est la possibilité de distribuent des calculs de R avec spark_apply.One feature of sparklyr is the ability to distribute R computations with spark_apply.

Étant donné que les clusters de données volumineuses utilisent des connexions de Livy, vous devez définir packages = FALSE 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 le section de Livy de la documentation de sparklyr sur des calculs R distribués.For more information, see the Livy section of the sparklyr documentation on distributed R computations. Avec ce paramètre, vous pouvez uniquement utiliser les packages R qui sont déjà installés sur votre cluster Spark dans le code R passé à 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 de données volumineuses, consultez que sont les clusters de données volumineuses de SQL Server 2019.For more information about big data clusters, see What are SQL Server 2019 big data clusters.