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.

  1. Válassza ki a munkaterületet.

  2. A lap tetején válassza a Munkaterület beállításai lehetőséget.

    Képernyőkép a munkaterület beállításainak helyéről.

  3. Válassza a adattervezés/TudományKönyvtárkezelés lehetőséget.

  4. 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.

  1. 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.

    Képernyőkép arról, hogyan adhat hozzá egy tótárházat a jegyzetfüzethez.

  2. 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.

    Képernyőkép arról, hogyan navigálhat a tóházhoz fájlok hozzáadásához.

  3. Kattintson a jobb gombbal, vagy válassza a "..." a Fájlok elem mellett a .tar.gz fájl feltöltéséhez.

    Képernyőkép arról, hogyan töltheti fel a fájlt a lakehouse Files mappába.

  4. 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: