Megosztás a következőn keresztül:


renv az Azure Databricksen

A renv egy R-csomag, amely lehetővé teszi a felhasználók számára a jegyzetfüzetre jellemző R-függőségek kezelését.

A használatával renvlétrehozhatja és kezelheti a projekt R-kódtár-környezetét, mentheti ezeknek a kódtáraknak az állapotát egy lockfile, majd szükség szerint később visszaállíthatja a kódtárakat. Ezek az eszközök együttesen segíthetnek elszigeteltebbé, hordozhatóbbá és reprodukálhatóbbá tenni a projekteket.

Alapszintű renv munkafolyamat

Ebben a szakaszban:

Felszerel renv

Telepítheti renv fürthatókörű tárként vagy jegyzetfüzet-hatókörű tárként. Jegyzetfüzet-hatókörű kódtárként való telepítéshez renv használja a következőt:

require(devtools)

install_version(
  package = "renv",
  repos   = "http://cran.us.r-project.org"
)

A Databricks egy CRAN-pillanatkép használatát javasolja adattárként a csomagverzió javításához.

Munkamenet inicializálása renv előre telepített R-kódtárakkal

A használat renv első lépése egy munkamenet inicializálása a használatával renv::init(). Állítsa be libPaths úgy, hogy az alapértelmezett letöltési hely legyen az R-jegyzetfüzet hatókörű tár elérési útja.

renv::init(settings = list(external.libraries=.libPaths()))
.libPaths(c(.libPaths()[2], .libPaths())

További renv csomagok telepítése

Mostantól az renv's API-val telepítheti és eltávolíthatja az R-csomagokat. Ha például a legújabb verziót digestszeretné telepíteni, futtassa a következőt egy jegyzetfüzetcellán belül.

renv::install("digest")

A régi verzió digesttelepítéséhez futtassa a következőt egy jegyzetfüzetcellán belül.

renv::install("digest@0.6.18")

A GitHubról való telepítéshez digest futtassa a következőt egy jegyzetfüzetcellán belül.

renv::install("eddelbuettel/digest")

Ha a Bioconductorból szeretne csomagot telepíteni, futtassa a következőt egy jegyzetfüzetcellán belül.

# (note: requires the BiocManager package)
renv::install("bioc::Biobase")

Vegye figyelembe, hogy az API a renv::install renv Cache-t használja.

R-jegyzetfüzetkörnyezet renv mentése a DBFS-be

Futtassa egyszer a következő parancsot a környezet mentése előtt.

renv::settings$snapshot.type("all")

Ez a beállítás pillanatképet állít be renv az összes telepített csomagról libPaths, nem csak a jegyzetfüzetben jelenleg használt csomagokról. További információt a renv dokumentációjában talál.

Most futtathatja a következőt egy jegyzetfüzetcellán belül a környezet aktuális állapotának mentéséhez.

renv::snapshot(lockfile="/dbfs/PATH/TO/WHERE/YOU/WANT/TO/SAVE/renv.lock", force=TRUE)

Ez az összes telepített libPathscsomag rögzítésével frissíti a lockfile frissítést. Emellett áthelyezi a lockfile helyi fájlrendszerből a DBFS-be, ahol akkor is megmarad, ha a fürt leáll vagy újraindul.

renv A DBFS-ből kapott lockfile környezet újratelepítése

Először győződjön meg arról, hogy az új fürt ugyanolyan Databricks Runtime-verziót futtat, mint amelyiken először létrehozta a renv környezetet. Ez biztosítja, hogy az előre telepített R-csomagok azonosak legyenek. Ezek listáját az egyes futtatókörnyezetek kibocsátási megjegyzéseiben találja. A renv telepítése után futtassa a következőt egy jegyzetfüzetcellán belül.

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"))

Ez átmásolja a lockfile DBFS-ből a helyi fájlrendszerbe, majd visszaállítja a lockfilefájlban megadott csomagokat.

Feljegyzés

A hiányzó adattárhibák elkerülése érdekében zárja ki a csomagokat és SparkR a csomagokat a Rserve csomag helyreállításából. Mindkét csomag előre telepítve van minden futtatókörnyezetben.

renv Gyorsítótár

Ennek nagyon hasznos funkciója renv a globális csomaggyorsítótár, amely a fürt összes renv projektje között meg van osztva. Felgyorsítja a telepítési időt, és lemezterületet takarít meg. A renv gyorsítótár nem gyorsítótárazza az devtools API-val letöltött csomagokat, és install.packages() nem tartalmaz más argumentumokat pkgs.