Jegyzetfüzet-hatókörön belüli R-kódtárak
A jegyzetfüzet-hatókörű R-kódtárak lehetővé teszik a jegyzetfüzet-munkamenetre jellemző egyéni R-környezetek létrehozását és módosítását. R-jegyzetfüzet hatókörű tár telepítésekor csak az aktuális jegyzetfüzet és a jegyzetfüzethez társított feladatok férhetnek hozzá az adott tárhoz. Az ugyanahhoz a fürthöz csatolt egyéb jegyzetfüzetekre nincs hatással.
A jegyzetfüzet-hatókörű kódtárak nem maradnak meg a munkamenetek között. Minden munkamenet elején újra kell telepítenie a jegyzetfüzet-hatókörű kódtárakat, vagy amikor a jegyzetfüzet le van választva egy fürtről.
A jegyzetfüzet-hatókörű kódtárak automatikusan elérhetők a SparkR UDF-ek feldolgozói számára.
A fürthöz csatolt összes jegyzetfüzet kódtárainak telepítéséhez használjon fürtre telepített kódtárakat. Lásd: Fürtkódtárak.
Jegyzetfüzet-hatókörű kódtárak telepítése az R-ben
Az R-csomagok telepítésének bármely ismerős módszerét használhatja, például az install.packages(), a devtools API-kat vagy a Bioconductort.
Az R-csomagok a feldolgozó csomópontok és az illesztőprogram-csomópontok számára is elérhetők.
Jegyzetfüzet-hatókörű kódtárak kezelése az R-ben
Ebben a szakaszban:
Csomag telepítése
require(devtools)
install_version(
package = "caesar",
repos = "http://cran.us.r-project.org"
)
A Databricks egy CRAN-pillanatkép használatát javasolja adattárként a reprodukálható eredmények garantálása érdekében.
devtools::install_github("klutometis/roxygen")
R-csomag eltávolítása jegyzetfüzet-környezetből
Ha el szeretne távolítani egy jegyzetfüzet hatókörű tárat egy jegyzetfüzetből, használja a remove.packages()
parancsot.
remove.packages("caesar")
Jegyzetfüzet-hatókörű R-kódtárak Spark UDF-ekkel
Ebben a szakaszban:
- Jegyzetfüzet-hatókörű R-kódtárak és SparkR
- Jegyzetfüzet-hatókörű R-kódtárak és sparklyr
- Könyvtárelkülönítés és üzemeltetett RStudio
Jegyzetfüzet-hatókörű R-kódtárak és SparkR
A jegyzetfüzet-hatókörű kódtárak a SparkR-feldolgozókban érhetők el; csak importáljon egy tárat a használatához. Az alábbiak futtatásával például létrehozhat egy cézár által titkosított üzenetet egy SparkR UDF használatával:
require(devtools)
install_version(
package = "caesar",
repos = "http://cran.us.r-project.org"
)
library(SparkR)
sparkR.session()
hello <- function(x) {
library(caesar)
caesar("hello world")
}
spark.lapply(c(1, 2), hello)
Jegyzetfüzet-hatókörű R-kódtárak és sparklyr
Az argumentum alapértelmezés szerint sparklyr::spark_apply()
a packages
következőre TRUE
van állítva: . Ezzel átmásolja az aktuális libPaths
kódtárakat a feldolgozóknak, így importálhatja és használhatja őket a feldolgozókon. Futtathatja például az alábbi parancsot egy cézár által titkosított üzenet létrehozásához a következővel sparklyr::spark_apply()
:
require(devtools)
install_version(
package = "caesar",
repos = "http://cran.us.r-project.org"
)
library(sparklyr)
sc <- spark_connect(method = 'databricks')
apply_caes <- function(x) {
library(caesar)
caesar("hello world")
}
sdf_len(sc, 5) %>%
spark_apply(apply_caes)
Ha nem szeretné, hogy a kódtárak elérhetők legyenek a feldolgozókon, állítsa a következőre packages
FALSE
: .
Könyvtárelkülönítés és üzemeltetett RStudio
Az RStudio külön tár elérési útját hozza létre minden felhasználó számára; ezért a felhasználók el vannak különítve egymástól. A tár elérési útja azonban nem érhető el a dolgozók számára. Ha egy Csomagot szeretne használni a SparkR-feldolgozókban az RStudio-ból indított feladatban, fürtkódtárak használatával kell telepítenie.
Ha sparklyr UDF-eket használ, az RStudio-on belül telepített csomagok a dolgozók számára is elérhetők a használat spark_apply(..., packages = TRUE)
során.
Gyakori kérdések (GYIK)
Hogyan csak az illesztőprogramra telepít egy csomagot az összes R-jegyzetfüzethez?
Explicit módon állítsa be a telepítési könyvtárat a következőre /databricks/spark/R/lib
: . Például a következővel install.packages()
: futtatás install.packages("pckg", lib="/databricks/spark/R/lib")
.
A telepített /databricks/spark/R/lib
csomagok meg vannak osztva a fürt összes jegyzetfüzetében, de nem érhetők el a SparkR-feldolgozók számára. A tárak jegyzetfüzetek és feldolgozók közötti megosztásához használjon fürttárakat.
Gyorsítótárazva vannak a jegyzetfüzet-hatókörű kódtárak?
A fürt jegyzetfüzet-hatókörű kódtáraihoz nincs gyorsítótárazás implementálva. Ha egy csomagot egy jegyzetfüzetbe telepít, és egy másik felhasználó ugyanarra a fürtre telepíti ugyanazt a csomagot egy másik jegyzetfüzetben, a rendszer letölti, lefordítja és újra telepíti a csomagot.