R-kódtár kezelése
A kódtárak olyan újrafelhasználható kódot biztosítanak, amelyet érdemes lehet belefoglalni a Microsoft Fabric Spark programjaiba vagy projektjeibe.
Fontos
A Microsoft Fabric előzetes verzióban érhető el.
A Microsoft Fabric számos népszerű nyílt forráskódú R-csomaggal támogatja az R-futtatókörnyezetet, beleértve az előre telepített TidyVerse-t is. Amikor elindul egy Spark-példány, ezek a kódtárak automatikusan bekerülnek a jegyzetfüzetekbe vagy a Spark-feladatdefiníciókba, és azonnal felhasználhatók.
Előfordulhat, hogy több okból is frissítenie kell az R-kódtárakat. Például az egyik alapvető függőség kiadott egy új verziót, vagy a csapata létrehozott egy egyéni csomagot, amelyre szüksége van a Spark-fürtökben.
A forgatókönyv alapján kétféle kódtárat érdemes felvenni:
A hírcsatorna-kódtárak olyan nyilvános forrásokban vagy adattárakban találhatóak, mint a CRAN vagy a GitHub.
Az egyéni kódtárak az Ön vagy a szervezete által létrehozott kód, amely a .tar.gz könyvtárkezelési portálokon keresztül kezelhető.
A Microsoft Fabricen két csomagszint van telepítve:
Munkaterület: A munkaterületszintű telepítés a teljes munkaterület munkakörnyezetét határozza meg. A munkaterület szintjén telepített kódtárak a munkaterületen található összes jegyzetfüzethez és SJD-hez elérhetők. Frissítse a munkaterület-kódtárakat, ha a munkaterület összes eleméhez be szeretné állítani a megosztott környezetet.
Munkamenet : A munkamenetszintű telepítés létrehoz egy környezetet egy adott jegyzetfüzet-munkamenethez. A munkamenetszintű kódtárak módosítása nem marad meg a munkamenetek között.
Az R-kódtár aktuális kezelési viselkedésének összegzése:
Kódtár típusa | Munkaterületszintű telepítés | Munkamenetszintű telepítés |
---|---|---|
R-hírcsatorna (CRAN) | Nem támogatott | Támogatott |
Egyéni R | Támogatott | Támogatott |
Előfeltételek
Egy Power BI Premium-előfizetés. Ha még nincs ilyenje, olvassa el A Power BI Premium vásárlása című témakört.
Egy Power BI-munkaterület hozzárendelt Premium-kapacitással. Ha nincs munkaterülete, a Munkaterület létrehozása című cikk lépéseit követve hozzon létre egyet, és rendelje hozzá egy Prémium szintű kapacitáshoz.
Jelentkezzen be a Microsoft Fabricbe.
Munkaterületszintű R-kódtár kezelése
Az egyéni kódtárak kezelése a munkaterület szintjén a munkaterület beállításai között. Az R jelenleg csak az egyéni kódtárakat támogatja a munkaterület beállításaiban.
Válassza ki a munkaterületet.
A lap tetején válassza a Munkaterület beállításai lehetőséget.
Válassza a adattervezés/Tudomány → Könyvtárkezelés lehetőséget.
Válassza az Egyéni kódtárak lapot.
Megjegyzés
- Csak a munkaterület rendszergazdája rendelkezik engedéllyel a munkaterületszintű beállítások frissítéséhez.
- Az R-hírcsatorna-kódtárak munkaterület-beállításokban való kezelése jelenleg nem támogatott.
Telepítse és kezelje az egyéni R-csomagokat, azaz a .tar.gz fájlt az Egyéni kódtárak szakaszban.
Feltöltés: Válassza a Feltöltés gombot, és válassza ki a csomagot a helyi címtárból. Ezután válassza az Alkalmaz lehetőséget a csomag munkaterülethez való hozzáadásához. Az erőforrástár-kezelési modul segít kezelni az egyéni kódtárak lehetséges ütközéseit és szükséges függőségeit.
Eltávolítás: Ha egy egyéni kódtár már nem használható a Spark-alkalmazásokhoz, a kuka gombbal távolítsa el.
Módosítások áttekintése és alkalmazása: Ha a módosítások függőben vannak, a Függőben lévő módosítások panelen áttekintheti őket, vagy megszakíthatja a módosításokat.
Munkamenetszintű R-kódtárak
Interaktív adatelemzés vagy gépi tanulás során újabb csomagokat próbálhat ki, vagy olyan csomagokra lehet szüksége, amelyek jelenleg nem érhetők el a munkaterületen. A munkaterület beállításainak frissítése helyett munkamenet-hatókörű csomagokkal adhat hozzá, kezelhet és frissíthet munkamenet-függőségeket.
- Munkamenet-hatókörű kódtárak telepítésekor csak az aktuális jegyzetfüzet fér hozzá a megadott kódtárakhoz.
- Ezek a kódtárak nem befolyásolják az azonos Spark-készletet használó más munkameneteket vagy feladatokat.
- Ezek a kódtárak az alap futtatókörnyezeti és készletszintű kódtárakra vannak telepítve.
- A jegyzetfüzettárak a legmagasabb prioritást élvezik.
- A munkamenet-hatókörű R-kódtárak nem maradnak meg a munkamenetek között. Ezek a kódtárak minden munkamenet elején települnek a kapcsolódó telepítési parancsok végrehajtásakor.
- A munkamenet-hatókörű R-kódtárak automatikusan települnek az illesztőprogram és a munkavégző csomópontok között is.
Megjegyzés
Az R-kódtárak kezelésének parancsai le vannak tiltva folyamatfeladatok futtatásakor. Ha egy folyamaton belül szeretne csomagot telepíteni, akkor a munkaterület szintjén kell használnia az erőforrástár-felügyeleti képességeket.
R-csomagok telepítése a CRAN-ból
Az R-kódtárakat egyszerűen telepítheti a CRAN-ból.
# install a package from CRAN
install.packages(c("nycflights13", "Lahman"))
A CRAN-pillanatképeket adattárként is használhatja, hogy minden alkalommal ugyanazt a csomagverziót töltse le.
# install a package from CRAN snapsho
install.packages("highcharter", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")
R-csomagok telepítése devtools használatával
A devtools
kódtár leegyszerűsíti a csomagfejlesztést a gyakori feladatok felgyorsítása érdekében. Ez a kódtár az alapértelmezett Microsoft Fabric-futtatókörnyezetben van telepítve.
A használatával devtools
megadhatja a telepítendő kódtár egy adott verzióját. Ezek a kódtárak a fürt összes csomópontjára telepítve vannak.
# Install a specific version.
install_version("caesar", version = "1.0.0")
Hasonlóképpen, közvetlenül a GitHubról is telepíthet kódtárat.
# Install a GitHub library.
install_github("jtilly/matchingR")
A Microsoft Fabric jelenleg a következő devtools
függvényeket támogatja:
Parancs | Leírás |
---|---|
install_github() | R-csomag telepítése a GitHubról |
install_gitlab() | R-csomag telepítése a GitLabből |
install_bitbucket() | R-csomag telepítése a BitBucketből |
install_url() | R-csomag telepítése tetszőleges URL-címről |
install_git() | Telepítés tetszőleges Git-adattárból |
install_local() | Telepítés helyi fájlból lemezre |
install_version() | Telepítés egy adott verzióból a CRAN-on |
Egyéni R-kódtárak telepítése
Munkamenetszintű egyéni kódtár használatához először fel kell töltenie egy csatolt Lakehouse-ba.
A bal oldalon válassza a Hozzáadás lehetőséget egy meglévő tóház hozzáadásához vagy egy tóház létrehozásához.
Ha fájlokat szeretne hozzáadni ehhez a tóházhoz, válassza ki a munkaterületet, majd válassza ki a tótárházat.
Kattintson a jobb gombbal, vagy válassza a "..." a Fájlok elem mellett a .tar.gz fájl feltöltéséhez.
A feltöltés után térjen vissza a jegyzetfüzethez. A következő paranccsal telepítse az egyéni tárat a munkamenetbe:
install.packages("filepath/filename.tar.gz", repos = NULL, type = "source")
Telepített kódtárak megtekintése
A paranccsal kérdezheti le a munkamenetben telepített összes kódtárat library
.
# query all the libraries installed in current session
library()
A függvény használatával packageVersion
ellenőrizze a kódtár verzióját:
# check the package version
packageVersion("caesar")
R-csomag eltávolítása munkamenetből
A függvény használatával detach
eltávolíthat egy kódtárat a névtérből. Ezek a kódtárak a lemezen maradnak, amíg újra be nem töltik őket.
# detach a library
detach("package: caesar")
Ha el szeretne távolítani egy munkamenet-hatókörű csomagot egy jegyzetfüzetből, használja a remove.packages()
parancsot. Ez a kódtár-módosítás nincs hatással az ugyanazon a fürtön lévő többi munkamenetre. A felhasználók nem távolíthatják el vagy távolíthatják el az alapértelmezett Microsoft Fabric-futtatókörnyezet beépített kódtárait.
Megjegyzés
Nem távolíthat el olyan alapvető csomagokat, mint a SparkR, a SparklyR vagy az R.
remove.packages("caesar")
Munkamenet-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.
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)
Munkamenet-hatókörű R-kódtárak és sparklyr
A spark_apply()
Sparklyrben bármilyen R-csomagot használhat a Sparkban. Alapértelmezés szerint a fájlban sparklyr::spark_apply()
a csomagok argumentuma HAMIS értékre 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. Az alábbiak futtatásával például létrehozhat egy caesar által titkosított üzenetet a következővel 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)
Következő lépések
További információ az R funkcióiról: