renv在磚

renv是一個R包,讓用戶管理特定於筆記本的R依賴。

使用renv,您可以為您的項目創建和管理R庫環境,將這些庫的狀態保存到lockfile,然後根據需要恢複庫。總之,這些工具可以幫助使項目更加獨立、可移植和可複製。

基本renv工作流

安裝renv

你可以安裝renv作為一個集群級圖書館或者作為notebook-scoped圖書館.安裝renv作為筆記本作用域的庫,使用:

install.packages“renv”回購“https://cran.microsoft.com/snapshot/2021-07-16/”

Databricks建議使用CRAN快照作為存儲庫修複包版本

初始化renv使用預安裝的R庫進行會話

第一步使用時renv初始化會話使用renv: init ().集libPaths將默認下載位置更改為您的R筆記本範圍的庫路徑

renv::初始化設置列表external.libraries.libPaths())).libPathsc.libPaths() (2),.libPaths())

使用renv安裝其他包

你現在可以使用renv的API來安裝和刪除R包。例如,安裝的最新版本消化,在筆記本單元格中運行以下程序。

renv::安裝“消化”

安裝舊版本的消化,在筆記本單元格中運行以下程序。

renv::安裝“digest@0.6.18”

安裝消化從GitHub,運行以下在一個筆記本單元格。

renv::安裝“eddelbuettel /消化”

要從Bioconductor安裝包,請在筆記本單元格中運行以下操作。

#(注意:需要BiocManager包)renv::安裝“bioc:: Biobase”

請注意renv:安裝API使用renv緩存

使用renv將您的R筆記本環境保存到DBFS

保存環境前,請執行一次以下命令。

renv::設置snapshot.type“所有”

這集renv對已安裝到其中的所有包進行快照libPaths而不僅僅是現在筆記本電腦上使用的那些。看到renv文檔更多信息。

現在,您可以在筆記本單元格中運行以下操作,以保存環境的當前狀態。

renv::快照lockfile“/ dbfs /路徑/ / /你/想要/ /保存/ renv.lock”真正的

這將更新lockfile通過捕獲安裝的所有包libPaths.它也會移動你的lockfile從本地文件係統DBFS在這種情況下,即使您的集群終止或重新啟動,它也會持續存在。

重新安裝一個renv給定的環境lockfile從DBFS

首先,確保您的新集群運行的Databricks Runtime版本與您第一次創建的相同renv環境。這確保了預安裝的R包是相同的。您可以在每個運行時中找到它們的列表發布說明.在你安裝renv,在筆記本單元格中運行以下程序。

renv::初始化設置列表external.libraries.libPaths())).libPathsc.libPaths() (2),.libPaths()))renv::恢複lockfile“/ dbfs /路徑/ / /你/保存/ renv.lock”排除c“Rserve”“SparkR”))

這將複製您的lockfile文件中指定的任何包lockfile

請注意

為避免丟失存儲庫錯誤,請排除Rserve而且SparkR包恢複中的包。這兩個包都預先安裝在所有運行時中。

renv緩存

的一個非常有用的特性renv是它的全局包緩存,這是所有國家共享的renv群集上的項目。它加快了安裝速度,節省了磁盤空間。的renv方法下載的包不緩存devtoolsAPI或install.packages ()除了包裹