Partilhar via


sparklyr

O Azure Databricks suporta o sparklyr em blocos de notas, trabalhos e RStudio Desktop. Este artigo descreve como você pode usar o sparklyr e fornece scripts de exemplo que você pode executar. Consulte Interface R para Apache Spark para obter mais informações.

Requisitos

O Azure Databricks distribui a versão estável mais recente do sparklyr com cada versão do Databricks Runtime. Você pode usar o sparklyr em notebooks do Azure Databricks R ou dentro do RStudio Server hospedado no Azure Databricks importando a versão instalada do sparklyr.

No RStudio Desktop, o Databricks Connect permite que você conecte o sparklyr de sua máquina local aos clusters do Azure Databricks e execute o código do Apache Spark. Consulte Usar o sparklyr e o RStudio Desktop com o Databricks Connect.

Conectar o sparklyr a clusters do Azure Databricks

Para estabelecer uma conexão sparklyr, você pode usar "databricks" como o método de conexão em spark_connect(). Não são necessários parâmetros adicionais, nem é necessário chamar spark_install() porque o spark_connect() Spark já está instalado em um cluster do Azure Databricks.

# Calling spark_connect() requires the sparklyr package to be loaded first.
library(sparklyr)

# Create a sparklyr connection.
sc <- spark_connect(method = "databricks")

Barras de progresso e interface do usuário do Spark com sparklyr

Se você atribuir o objeto de conexão sparklyr a uma variável nomeada sc como no exemplo acima, verá barras de progresso do Spark no bloco de anotações após cada comando que aciona trabalhos do Spark. Além disso, você pode clicar no link ao lado da barra de progresso para exibir a interface do usuário do Spark associada ao trabalho do Spark fornecido.

Progresso do Sparklyr

Use o sparklyr

Depois de instalar o sparklyr e estabelecer a conexão, todas as outras APIs do sparklyr funcionam normalmente. Consulte o bloco de notas de exemplo para obter alguns exemplos.

O Sparklyr é geralmente usado juntamente com outros pacotes do Tidyverse, como o DPLyr. A maioria desses pacotes são pré-instalados no Databricks para sua conveniência. Você pode simplesmente importá-los e começar a usar a API.

Use o sparklyr e o SparkR juntos

O SparkR e o sparklyr podem ser usados juntos em um único notebook ou trabalho. Você pode importar o SparkR junto com o sparklyr e usar sua funcionalidade. Nos blocos de anotações do Azure Databricks, a conexão SparkR é pré-configurada.

Algumas das funções no SparkR mascaram uma série de funções no dplyr:

> library(SparkR)
The following objects are masked from ‘package:dplyr’:

arrange, between, coalesce, collect, contains, count, cume_dist,
dense_rank, desc, distinct, explain, filter, first, group_by,
intersect, lag, last, lead, mutate, n, n_distinct, ntile,
percent_rank, rename, row_number, sample_frac, select, sql,
summarize, union

Se você importar o SparkR depois de importar o dplyr, poderá fazer referência às funções no dplyr usando os nomes totalmente qualificados, por exemplo, dplyr::arrange(). Da mesma forma, se você importar dplyr após SparkR, as funções no SparkR serão mascaradas por dplyr.

Como alternativa, você pode separar seletivamente um dos dois pacotes enquanto não precisar dele.

detach("package:dplyr")

Consulte também Comparando SparkR e sparklyr.

Use o sparklyr em trabalhos de envio de faísca

Você pode executar scripts que usam o sparklyr no Azure Databricks como trabalhos de envio de faísca, com pequenas modificações de código. Algumas das instruções acima não se aplicam ao uso do sparklyr em trabalhos de envio de faísca no Azure Databricks. Em particular, você deve fornecer o URL mestre do Spark para spark_connect. Por exemplo:

library(sparklyr)

sc <- spark_connect(method = "databricks", spark_home = "<spark-home-path>")
...

Funcionalidades não suportadas

O Azure Databricks não oferece suporte a métodos sparklyr como spark_web() e spark_log() que exigem um navegador local. No entanto, como a interface do usuário do Spark é interna no Azure Databricks, você pode inspecionar trabalhos e logs do Spark facilmente. Consulte Logs de trabalho e driver de computação.

Exemplo de bloco de anotações: demonstração do Sparklyr

Caderno Sparklyr

Obter o bloco de notas

Para obter exemplos adicionais, consulte Trabalhar com DataFrames e tabelas em R.