Pular para o conteúdo principal

Notebook-scoped R biblioteca

Notebook-A biblioteca R com escopo permite que o senhor crie e modifique ambientes R personalizados que são específicos para uma sessão do Notebook. Quando o senhor instala uma biblioteca com escopo de Notebook do R, somente o Notebook atual e qualquer trabalho associado a esse Notebook têm acesso a essa biblioteca. Outros notebooks anexados ao mesmo clustering não são afetados.

As bibliotecas com escopo para notebooks não persistem entre as sessões. O senhor deve reinstalar as bibliotecas com escopo para notebooks no início de cada sessão ou sempre que o notebook for desconectado de um cluster.

Notebook-scoped biblioteca biblioteca estão automaticamente disponíveis no worker para SparkR UDFs.

Para instalar o biblioteca para todos os Notebooks anexados a um cluster, use o biblioteca instalado no cluster. Ver biblioteca de agrupamento.

Instalar a biblioteca com escopo de Notebook no R

O senhor pode usar qualquer método conhecido para instalar o pacote no R, como install.pacote(), o devtools APIs, ou o Bioconductor.

O pacote R pode ser acessado pelos nós worker e também pelo nó do driver.

gerenciar biblioteca com escopo de Notebook em R

Nesta secção:

Instalar um pacote

R
require(devtools)

install_version(
package = "caesar",
repos = "http://cran.us.r-project.org"
)

Databricks recomenda usar um CRAN Snapshot como repositório para garantir resultados reproduzíveis.

R
devtools::install_github("klutometis/roxygen")

Remover um pacote R de um ambiente Notebook

Para remover uma biblioteca com escopo Notebook de um Notebook, use o comando remove.packages().

R
remove.packages("caesar")

NotebookBiblioteca R com escopo e Spark UDFs

Nesta secção:

Notebook-scoped R biblioteca e SparkR

NotebookAs bibliotecas com escopo estão disponíveis no site SparkR worker; basta importar uma biblioteca para usá-la. Por exemplo, o senhor pode executar o seguinte para gerar uma mensagem criptografada por César com um SparkR UDF:

R
require(devtools)

install_version(
package = "caesar",
repos = "http://cran.us.r-project.org"
)

library(SparkR)
sparkR.session()

hello <- function(x) {
library(caesar)
caesar("hello world")
}

spark.lapply(c(1, 2), hello)

Notebook-scoped R biblioteca e Sparklyr

Por default, em sparklyr::spark_apply(), o argumento packages é definido como TRUE. Isso copia a biblioteca no site libPaths atual para o trabalhador, permitindo que o senhor a importe e use no trabalhador. Por exemplo, o senhor pode executar o seguinte para gerar uma mensagem criptografada por César com sparklyr::spark_apply():

R
require(devtools)

install_version(
package = "caesar",
repos = "http://cran.us.r-project.org"
)

library(sparklyr)
sc <- spark_connect(method = 'databricks')

apply_caes <- function(x) {
library(caesar)
caesar("hello world")
}

sdf_len(sc, 5) %>%
spark_apply(apply_caes)

Se o senhor não quiser que a biblioteca esteja disponível no trabalhador, defina packages como FALSE.

Isolamento da biblioteca e RStudio hospedado

O RStudio cria um caminho de biblioteca separado para cada usuário; portanto, os usuários ficam isolados uns dos outros. No entanto, o caminho da biblioteca não está disponível no trabalhador. Se o senhor quiser usar um pacote dentro do SparkR worker em um trabalho iniciado a partir do RStudio, precisará instalá-lo usando a biblioteca de clustering.

Como alternativa, se o senhor usar Sparklyr UDFs, o pacote instalado em RStudio estará disponível para o worker ao usar spark_apply(..., packages = TRUE).

Perguntas frequentes (FAQ)

Como faço para instalar um pacote apenas com o driver para todos os notebooks R?

Defina explicitamente o diretório de instalação como /databricks/spark/R/lib. Por exemplo, com install.packages(), execução install.packages("pckg", lib="/databricks/spark/R/lib"). O pacote instalado em /databricks/spark/R/lib é compartilhado em todos os notebooks do cluster, mas não pode ser acessado pelo funcionário SparkR. Para compartilhar a biblioteca no Notebook e também no worker, use o clustering biblioteca.

As bibliotecas com escopo de Notebook são armazenadas em cache?

Não há cache implementado para biblioteca com escopo de Notebook em um agrupamento. Se o senhor instalar um pacote em um Notebook e outro usuário instalar o mesmo pacote em outro Notebook no mesmo clustering, o pacote será baixado, compilado e instalado novamente.