Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
renv é um pacote R que permite aos usuários gerenciar dependências R específicas para o notebook.
Usando renv, você pode criar e gerenciar o ambiente de biblioteca R para seu projeto, salvar o estado dessas bibliotecas em um lockfilee, posteriormente, restaurar bibliotecas, conforme necessário. Juntas, essas ferramentas podem ajudar a tornar os projetos mais isolados, portáteis e reproduzíveis.
Fluxo de trabalho básico renv
Nesta secção:
-
Instalar
renv -
Inicializar
renvsessão com bibliotecas R pré-instaladas -
Use
renvpara instalar pacotes adicionais -
Use
renvpara salvar seu ambiente de notebook R no DBFS -
Reinstalar um
renvambiente dado alockfilepartir de DBFS
Instalar renv
Você pode instalar renv como uma biblioteca com escopo de cluster ou como uma biblioteca com escopo de bloco de anotações. Para instalar renv como uma biblioteca com escopo de bloco de anotações, use:
require(devtools)
install_version(
package = "renv",
repos = "http://cran.us.r-project.org"
)
O Databricks recomenda o uso de um instantâneo CRAN como repositório para corrigir a versão do pacote.
Inicializar renv sessão com bibliotecas R pré-instaladas
A primeira etapa ao usar renv é inicializar uma sessão usando renv::init()o . Defina libPaths para alterar o local de download padrão para o caminho da biblioteca no âmbito do bloco de notas do R.
renv::init(settings = list(external.libraries=.libPaths()))
.libPaths(c(.libPaths()[2], .libPaths()))
Use renv para instalar pacotes adicionais
Agora pode usar a API do renv para instalar e remover pacotes R. Por exemplo, para instalar a versão mais recente do digest, execute o seguinte dentro de uma célula do bloco de anotações.
renv::install("digest")
Para instalar uma versão antiga do digest, execute o seguinte dentro de uma célula do bloco de anotações.
renv::install("digest@0.6.18")
Para instalar digest a partir do GitHub, execute o seguinte dentro de uma célula de notebook.
renv::install("eddelbuettel/digest")
Para instalar um pacote do Bioconductor, execute o seguinte dentro de uma célula de notebook.
# (note: requires the BiocManager package)
renv::install("bioc::Biobase")
Observe que a renv::install API usa o renv cache.
Use renv para salvar seu ambiente de notebook R no DBFS
Execute o seguinte comando uma vez antes de salvar o ambiente.
renv::settings$snapshot.type("all")
Isso define renv para capturar instantâneos de todos os pacotes instalados no libPaths, não apenas daqueles que são usados atualmente no bloco de anotações. Consulte a documentação do renv para obter mais informações.
Agora você pode executar o seguinte dentro de uma célula de bloco de anotações para salvar o estado atual do seu ambiente.
renv::snapshot(lockfile="/dbfs/PATH/TO/WHERE/YOU/WANT/TO/SAVE/renv.lock", force=TRUE)
Isso atualiza o lockfile capturando todos os pacotes instalados no libPaths. Ele também move seu lockfile do sistema de arquivos local para DBFS, onde persiste mesmo se o cluster for encerrado ou reiniciado.
Reinstalar um renv ambiente dado a lockfile partir de DBFS
Primeiro, certifique-se de que seu novo cluster esteja executando uma versão do Databricks Runtime idêntica àquela em que você criou o renv ambiente pela primeira vez. Isso garante que os pacotes R pré-instalados sejam idênticos. Você pode encontrar uma lista deles nas notas de versão de cada runtime. Depois de instalar renv o, execute o seguinte dentro de uma célula do notebook.
renv::init(settings = list(external.libraries=.libPaths()))
.libPaths(c(.libPaths()[2], .libPaths()))
renv::restore(lockfile="/dbfs/PATH/TO/WHERE/YOU/SAVED/renv.lock", exclude=c("Rserve", "SparkR"))
Isso copia o seu lockfile do DBFS para o sistema de arquivos local e, em seguida, restaura todos os pacotes especificados no lockfile.
Nota
Para evitar erros de repositório ausentes, exclua os Rserve pacotes e SparkR da restauração de pacotes. Ambos os pacotes são pré-instalados em todos os tempos de execução.
renv Cache
Um recurso muito útil é seu renv de pacote global, que é compartilhado em todos os renv projetos no cluster. Ele acelera os tempos de instalação e economiza espaço em disco. O renv cache não armazena em cache pacotes baixados por meio da devtools API ou install.packages() com quaisquer argumentos adicionais além de pkgs.