Gestão de bibliotecas R
As bibliotecas fornecem código reutilizável que você pode querer incluir em seus programas ou projetos para o Microsoft Fabric Spark.
O Microsoft Fabric suporta um tempo de execução R com muitos pacotes R de código aberto populares, incluindo TidyVerse, pré-instalados. Quando uma instância do Spark é iniciada, essas bibliotecas são incluídas automaticamente e ficam disponíveis para serem usadas imediatamente em blocos de anotações ou definições de trabalho do Spark.
Talvez seja necessário atualizar suas bibliotecas R por vários motivos. Por exemplo, uma de suas dependências principais lançou uma nova versão ou sua equipe criou um pacote personalizado que você precisa disponível em seus clusters do Spark.
Há dois tipos de bibliotecas que você pode querer incluir com base no seu cenário:
Bibliotecas de feed referem-se àquelas 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 podem ser gerenciadas por meio de portais de Gerenciamento de Bibliotecas.
Há dois níveis de pacotes instalados no Microsoft Fabric:
Environment: Gerencie bibliotecas através de um ambiente para reutilizar o mesmo conjunto de bibliotecas em vários notebooks ou trabalhos.
Instalação de nível de sessão: uma instalação de nível de sessão cria um ambiente para uma sessão de notebook específica. A alteração de bibliotecas de nível de sessão não é persistente entre as sessões.
Resumindo os comportamentos atuais de gerenciamento de bibliotecas R disponíveis:
Tipo de biblioteca | Instalação do ambiente | Instalação no nível da sessão |
---|---|---|
Alimentação R (CRAN) | Não suportado | Suportado |
R Personalizado | Suportado | Suportado |
Pré-requisitos
Obtenha uma assinatura Microsoft Fabric. Ou inscreva-se para obter uma avaliação gratuita do Microsoft Fabric.
Inicie sessão no Microsoft Fabric.
Use o seletor de experiência no canto inferior esquerdo da página inicial para alternar para o Fabric.
Bibliotecas R de nível de sessão
Ao fazer análise de dados interativa ou aprendizado de máquina, você pode tentar pacotes mais recentes ou precisar de pacotes que não estão disponíveis no momento em seu espaço de trabalho. Em vez de atualizar as configurações do espaço de trabalho, 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 bloco de anotações 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 em cima do tempo de execução base e bibliotecas do nível de pool.
- As bibliotecas de blocos de notas têm a maior precedência.
- As bibliotecas R com escopo de sessão não persistem entre diferentes 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 R com escopo de sessão são instaladas automaticamente nos nós de driver e de trabalho.
Observação
Os comandos de gerenciamento de bibliotecas R são desabilitados ao executar trabalhos de pipeline. Se quiser instalar um pacote dentro de um pipeline, deve usar as capacidades de gestão da biblioteca ao nível do espaço de trabalho.
Instalar pacotes R a partir do CRAN
Você pode instalar facilmente uma biblioteca R a partir de CRAN.
# install a package from CRAN
install.packages(c("nycflights13", "Lahman"))
Você também pode usar instantâneos de CRAN como repositório para garantir que baixe a mesma versão do pacote cada vez.
# install a package from CRAN snapsho
install.packages("highcharter", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")
Instalar pacotes R usando devtools
A biblioteca devtools
simplifica o desenvolvimento de pacotes para agilizar tarefas comuns. Essa biblioteca é instalada dentro do tempo de execução 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 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, as seguintes funções devtools
são suportadas 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 a partir de um URL arbitrário |
install_git() | Instala a partir de um repositório git arbitrário |
install_local() | Instala a partir de um arquivo local no disco |
install_version() | Instala a partir de uma versão específica na CRAN |
Instalar bibliotecas personalizadas do R
Para usar uma biblioteca personalizada no nível da sessão, você deve primeiro carregá-la em uma Lakehouse anexada.
Abra o bloco de notas no qual pretende utilizar a biblioteca personalizada.
No lado esquerdo, selecione Adicionar para adicionar uma casa de lago existente ou criar uma casa de lago.
Clique com o botão direito do rato ou selecione o botão "..." ao lado de Arquivos para carregar o seu arquivo .tar.gz.
Depois de carregar, volte ao seu bloco de notas. Use o seguinte comando para instalar a biblioteca personalizada em sua sessão:
install.packages("filepath/filename.tar.gz", repos = NULL, type = "source")
Ver bibliotecas instaladas
Consulte todas as bibliotecas instaladas na 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 no 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 tem impacto em outras sessões no mesmo cluster. Os usuários não podem desinstalar ou remover bibliotecas internas do tempo de execução padrão do Microsoft Fabric.
Observação
Não é possível remover pacotes principais como SparkR, SparklyR ou R.
remove.packages("caesar")
Bibliotecas R com limite de sessão e SparkR
As bibliotecas com escopo de notebook estão disponíveis nos trabalhadores 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 R com escopo de sessão e sparklyr
Com spark_apply()
no sparklyr, você pode usar qualquer pacote R dentro do Spark. Por padrão, no sparklyr::spark_apply()
, o argumento packages é definido como FALSE. Isso copia bibliotecas no libPaths atual para os trabalhadores, permitindo que você as importe e use em trabalhadores. Por exemplo, você pode executar o seguinte para gerar uma mensagem criptografada por césar com 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 R: