Compartilhar via


Usar o sparklyr em clusters de Big Data do SQL Server

Aplica-se a:SQL Server 2019 (15.x)

Important

Os Clusters de Big Data do Microsoft SQL Server 2019 foram desativados. O suporte para clusters de Big Data do SQL Server 2019 terminou em 28 de fevereiro de 2025. Para obter mais informações, consulte a postagem no blog de anúncios e as opções de Big Data na plataforma microsoft SQL Server.

O Sparklyr fornece uma interface R para o Apache Spark. O Sparklyr é uma maneira popular de os desenvolvedores de R usarem o Spark. Este artigo descreve como usar o sparklyr em um Clusters de Big Data do SQL Server 2019 usando o RStudio.

Prerequisites

Instalar o R e o RStudio para Desktop

Instale e configure o RStudio Desktop com as seguintes etapas:

  1. Se a execução for feita em um cliente Windows, baixe e instale o R 3.6.3. Além disso, baixe e instale o RTools 3.5. Configure a pasta binária RTools na variável de ambiente PATH.

    Warning

    As versões do R 4.x e do sparklyr diferentes da especificada abaixo são verificadas de modo a não funcionar por meio dos Cluster de Big Data do SQL Server CU13.

  2. Baixe e instale o RStudio Desktop. Opcionalmente, todos os exemplos funcionam no shell do R.

  3. Após a conclusão da instalação, execute os seguintes comandos dentro do RStudio Desktop ou shell R para instalar os pacotes necessários. Quando solicitado, confirme a compilação de pacotes da origem.

install.packages("devtools")
devtools::install_github('rstudio/sparklyr', ref = 'v1.7.0', upgrade = 'always', repos = 'https://cran.microsoft.com/snapshot/2021-06-11/')

Conectar-se ao Spark em um cluster de Big Data

Você pode usar o sparklyr para conectar-se de um cliente ao cluster de Big Data usando o Livy e o gateway do HDFS/Spark.

No RStudio, crie um script do R e conecte-se ao Spark como neste exemplo:

Tip

Para os valores <AZDATA_USERNAME> e <AZDATA_PASSWORD>, use o nome de usuário e a senha definidos durante a implantação do cluster de Big Data.

A partir do SQL Server 2019 (15.x) CU 5, quando você implanta um novo cluster com a autenticação básica, todos os pontos de extremidade, incluindo o gateway, usam AZDATA_USERNAME e AZDATA_PASSWORD. Os pontos de extremidade em clusters que são atualizados para CU 5 continuam usando root como o nome de usuário para se conectar ao ponto de extremidade do gateway. Essa alteração não se aplica às implantações que usam a autenticação do Active Directory. Confira Credenciais para acessar serviços por meio do ponto de extremidade do gateway nas notas sobre a versão.

Para obter os valores de <IP> e <PORT>, confira a documentação sobre conectar-se a um de cluster de 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)

Executar consultas do sparklyr

Depois de se conectar ao Spark, você pode executar o sparklyr. O exemplo a seguir executa uma consulta no conjunto de dados iris usando o sparklyr:

iris_tbl <- copy_to(sc, iris)

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

iris_count

Computações do R distribuídas

Um recurso do sparklyr é a capacidade de distribuir computações do R com spark_apply.

Como os clusters de Big Data usam conexões Livy, você deve definir packages = FALSE na chamada para spark_apply. Para obter mais informações, confira a seção Livy da documentação do sparklyr sobre computações do R distribuídas. Com essa configuração, você só pode usar os pacotes do R que já estão instalados em seu cluster do Spark no código R passado para spark_apply. O seguinte exemplo demonstra esta funcionalidade:

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

Next steps

Para obter mais informações sobre clusters de Big Data, confira O que são Clusters de Big Data do SQL Server 2019.