Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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:
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.
Baixe e instale o RStudio Desktop. Opcionalmente, todos os exemplos funcionam no shell do R.
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.