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:
As bibliotecas de feed referem-se àquelas que residem em fontes ou repositórios públicos, como CRAN ou GitHub.
As bibliotecas personalizadas são o código criado por si ou pela sua organização .tar.gz podem ser geridas através de portais de Gestão 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 blocos de anotações ou trabalhos.
Sessão : Uma instalação no nível da sessão cria um ambiente para uma sessão de bloco de anotações 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 do Microsoft Fabric. Ou inscreva-se para uma avaliação gratuita do Microsoft Fabric.
Entre no Microsoft Fabric.
Use o seletor de experiência no lado esquerdo da sua página inicial para alternar para a experiência Synapse Data Science.
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 sobre o tempo de execução base e bibliotecas de 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 nas 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.
Nota
Os comandos de gerenciamento de bibliotecas R são desabilitados ao executar trabalhos de pipeline. Se quiser instalar um pacote em um pipeline, use os recursos de gerenciamento de biblioteca no nível do espaço de trabalho.
Instalar pacotes R a partir do CRAN
Você pode facilmente instalar uma biblioteca R a partir do CRAN.
# install a package from CRAN
install.packages(c("nycflights13", "Lahman"))
Você também pode usar instantâneos de CRAN como o repositório para garantir o download da mesma versão do pacote todas as vezes.
# install a package from CRAN snapsho
install.packages("highcharter", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")
Instalar pacotes R usando devtools
A devtools
biblioteca 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 para instalar. 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 devtools
funções são suportadas no Microsoft Fabric:
Comando | Description |
---|---|
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.
No lado esquerdo, selecione Adicionar para adicionar uma casa de lago existente ou criar uma casa de lago.
Para adicionar arquivos a esta casa do lago, selecione seu espaço de trabalho e, em seguida, selecione a casa do lago.
Clique com o botão direito do rato ou selecione o botão "..." ao lado de Arquivos para carregar 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 library
comando.
# query all the libraries installed in current session
library()
Use a packageVersion
função 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 detach
função 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 bloco de anotações, use o remove.packages()
comando. 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.
Nota
Não é possível remover pacotes principais como SparkR, SparklyR ou R.
remove.packages("caesar")
Bibliotecas R com escopo 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()
o 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 com 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údos relacionados
Saiba mais sobre as funcionalidades R: