Gerenciamento de biblioteca do R
As bibliotecas fornecem código reutilizável que talvez você queira incluir em seus programas ou projetos para o Microsoft Fabric Spark.
Microsoft Fabric dá suporte a um runtime de R com muitos pacotes R de software livre populares, incluindo Tidyverse, preinstalados. Quando uma instância do Spark é iniciada, essas bibliotecas são incluídas automaticamente e disponíveis para serem usadas imediatamente em notebooks ou definições de trabalho do Spark.
Talvez seja necessário atualizar suas bibliotecas do R por vários motivos. Por exemplo, uma de suas principais dependências lançou uma nova versão ou sua equipe criou um pacote personalizado que você precisa disponível em seus clusters spark.
Há dois tipos de bibliotecas que talvez você queira incluir com base em seu cenário:
As bibliotecas de feeds referem-se às que residem em fontes públicas ou repositórios, como CRAN ou GitHub.
bibliotecas personalizadas são o código criado por você ou sua organização, .tar.gz pode ser gerenciado por meio de portais de Gerenciamento de Bibliotecas.
Há dois níveis de pacotes instalados no Microsoft Fabric:
Ambiente: gerencie bibliotecas por meio de um ambiente para reutilizar o mesmo conjunto de bibliotecas em vários notebooks ou trabalhos.
Sessão: uma instalação no nível da sessão cria um ambiente para uma sessão de notebook específica. A alteração das bibliotecas no nível da sessão não persiste entre as sessões.
Resumindo os comportamentos atuais de gerenciamento de biblioteca do R disponíveis:
Tipo de biblioteca | Instalação do ambiente | Instalação em nível de sessão |
---|---|---|
Feed do R (CRAN) | Sem suporte | Suportado |
R personalizado | Suportado | Suportado |
Pré-requisitos
Obtenha uma assinatura do Microsoft Fabric. Ou cadastre-se para uma avaliação gratuita do Microsoft Fabric.
Entre no Microsoft Fabric.
Use o alternador de experiência no lado inferior esquerdo da sua página inicial para alternar para Fabric.
Bibliotecas do R no nível da sessão
Ao fazer análise interativa de dados ou aprendizado de máquina, você pode experimentar pacotes mais recentes ou talvez precise de pacotes que estão atualmente indisponíveis em seu workspace. Em vez de atualizar as configurações do workspace, você pode usar pacotes com escopo de sessão para adicionar, gerenciar e atualizar dependências de sessão.
- Quando você instala bibliotecas com escopo de sessão, somente o notebook atual tem acesso às bibliotecas especificadas.
- Essas bibliotecas não afetam outras sessões ou trabalhos usando o mesmo pool do Spark.
- Essas bibliotecas são instaladas na parte superior das bibliotecas de tempo de execução base e de pool.
- As bibliotecas de notebook têm a precedência mais alta.
- As bibliotecas R com escopo de sessão não persistem entre sessões. Essas bibliotecas são instaladas no início de cada sessão quando os comandos de instalação relacionados são executados.
- As bibliotecas de R com escopo de sessão são instaladas automaticamente nos nós de driver e de trabalho.
Nota
Os comandos de gerenciamento de bibliotecas do R são desabilitados ao executar trabalhos de pipeline. Se você quiser instalar um pacote em um pipeline, deverá usar os recursos de gerenciamento de biblioteca no nível do workspace.
Instalar pacotes de R do CRAN
Você pode instalar facilmente uma biblioteca do R a partir do CRAN.
# install a package from CRAN
install.packages(c("nycflights13", "Lahman"))
Você também pode usar snapshots do CRAN como repositório para garantir o download da mesma versão do pacote sempre que necessário.
# install a package from CRAN snapsho
install.packages("highcharter", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")
Instalar pacotes do R usando devtools
A biblioteca de devtools
simplifica o desenvolvimento de pacotes para agilizar tarefas comuns. Essa biblioteca é instalada no runtime padrão do Microsoft Fabric.
Você pode usar devtools
para especificar uma versão específica de uma biblioteca a ser instalada. Essas bibliotecas são instaladas em todos os nós dentro do cluster.
# Install a specific version.
install_version("caesar", version = "1.0.0")
Da mesma forma, você pode instalar uma biblioteca diretamente do GitHub.
# Install a GitHub library.
install_github("jtilly/matchingR")
Atualmente, há suporte para as seguintes funções de devtools
no Microsoft Fabric:
Comando | Descrição |
---|---|
install_github() | Instala um pacote R do GitHub |
install_gitlab() | Instala um pacote R do GitLab |
install_bitbucket() | Instala um pacote R do BitBucket |
install_url() | Instala um pacote R de uma URL arbitrária |
install_git() | Instala a partir de um repositório Git arbitrário |
install_local() | Instala de um arquivo local no disco |
install_version() | Instala de uma versão específica no CRAN |
Instalar bibliotecas personalizadas do R
Para usar uma biblioteca personalizada no nível da sessão, você deve primeiro carregá-la em um lakehouse anexado.
Abra o bloco de anotações no qual você deseja usar a biblioteca personalizada.
No lado esquerdo, selecione Adicionar para adicionar um lakehouse existente ou criar um.
Clique com o botão direito do mouse ou selecione "..." ao lado de arquivos para carregar seu arquivo de .tar.gz.
Depois de carregar, volte para o bloco de anotações. Use o seguinte comando para instalar a biblioteca personalizada em sua sessão:
install.packages("filepath/filename.tar.gz", repos = NULL, type = "source")
Exibir bibliotecas instaladas
Consulte todas as bibliotecas instaladas em sua sessão usando o comando library
.
# query all the libraries installed in current session
library()
Use a função packageVersion
para verificar a versão da biblioteca:
# check the package version
packageVersion("caesar")
Remover um pacote R de uma sessão
Você pode usar a função detach
para remover uma biblioteca do namespace. Essas bibliotecas permanecem em disco até serem carregadas novamente.
# detach a library
detach("package: caesar")
Para remover um pacote com escopo de sessão de um notebook, use o comando remove.packages()
. Essa alteração de biblioteca não afeta outras sessões no mesmo cluster. Os usuários não podem desinstalar ou remover bibliotecas internas do runtime padrão do Microsoft Fabric.
Nota
Você não pode remover pacotes principais como SparkR, SparklyR ou R.
remove.packages("caesar")
Bibliotecas R com escopo específico de sessão e SparkR
As bibliotecas no escopo do notebook estão disponíveis em funções de trabalhos do SparkR.
install.packages("stringr")
library(SparkR)
str_length_function <- function(x) {
library(stringr)
str_length(x)
}
docs <- c("Wow, I really like the new light sabers!",
"That book was excellent.",
"R is a fantastic language.",
"The service in this restaurant was miserable.",
"This is neither positive or negative.")
spark.lapply(docs, str_length_function)
Bibliotecas do R no escopo de sessão e sparklyr
Com spark_apply()
no sparklyr, você pode usar todos os pacotes R dentro do Spark. Por padrão, em sparklyr::spark_apply()
, o argumento de pacotes é definido como FALSE. Isso copia bibliotecas no libPaths atual para as funções de trabalho, permitindo importá-las e usá-las em funções de trabalho. Por exemplo, você pode executar o seguinte para gerar uma mensagem encriptada com a cifra de César utilizando sparklyr::spark_apply()
:
install.packages("caesar", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")
spark_version <- sparkR.version()
config <- spark_config()
sc <- spark_connect(master = "yarn", version = spark_version, spark_home = "/opt/spark", config = config)
apply_cases <- function(x) {
library(caesar)
caesar("hello world")
}
sdf_len(sc, 5) %>%
spark_apply(apply_cases, packages=FALSE)
Conteúdo relacionado
Saiba mais sobre as funcionalidades do R: