R-bibliotheekbeheer
Bibliotheken bieden herbruikbare code die u mogelijk wilt opnemen in uw programma's of projecten voor Microsoft Fabric Spark.
Microsoft Fabric ondersteunt een R-runtime met veel populaire opensource R-pakketten, waaronder TidyVerse, vooraf geïnstalleerd. Wanneer een Spark-exemplaar wordt gestart, worden deze bibliotheken automatisch opgenomen en beschikbaar om onmiddellijk te worden gebruikt in notebooks of Spark-taakdefinities.
Mogelijk moet u uw R-bibliotheken om verschillende redenen bijwerken. Een van uw kernafhankelijkheden heeft bijvoorbeeld een nieuwe versie uitgebracht of uw team heeft een aangepast pakket gemaakt dat u nodig hebt in uw Spark-clusters.
Er zijn twee typen bibliotheken die u mogelijk wilt opnemen op basis van uw scenario:
Bibliotheken voor feeds verwijzen naar de bibliotheken die zich in openbare bronnen of opslagplaatsen bevinden, zoals CRAN of GitHub.
Aangepaste bibliotheken zijn de code die door u of uw organisatie is gebouwd; .tar.gz-bestanden kunnen worden beheerd via portals voor bibliotheekbeheer.
Er zijn twee niveaus van pakketten geïnstalleerd op Microsoft Fabric:
Omgeving: Beheer bibliotheken in een omgeving om dezelfde set bibliotheken opnieuw te gebruiken in meerdere notitieblokken of taken.
Sessie: een installatie op sessieniveau maakt een omgeving voor een specifieke notebooksessie. Wijzigingen aan bibliotheken op het niveau van een sessie worden niet bewaard tussen sessies.
Samenvatting van het huidige beschikbare R-bibliotheekbeheergedrag:
Bibliotheektype | Omgevingsinstallatie | Installatie op sessieniveau |
---|---|---|
R-feed (CRAN) | Niet ondersteund | Ondersteund |
R Aangepast | Ondersteund | Ondersteund |
Voorwaarden
Een Microsoft Fabric-abonnementophalen. Of meld u aan voor een gratis microsoft Fabric-proefversie.
Meld u aan bij Microsoft Fabric-.
Gebruik de ervaringswisselaar aan de linkerkant van de startpagina om over te schakelen naar Fabric.
R-bibliotheken op sessieniveau
Wanneer u interactieve gegevensanalyse of machine learning uitvoert, kunt u nieuwere pakketten proberen of hebt u mogelijk pakketten nodig die momenteel niet beschikbaar zijn in uw werkruimte. In plaats van de werkruimte-instellingen bij te werken, kunt u sessiebereikpakketten gebruiken om sessieafhankelijkheden toe te voegen, te beheren en bij te werken.
- Wanneer u bibliotheken met sessiebereik installeert, heeft alleen het huidige notitieblok toegang tot de opgegeven bibliotheken.
- Deze bibliotheken hebben geen invloed op andere sessies of taken met dezelfde Spark-pool.
- Deze bibliotheken worden geïnstalleerd bovenop de basisruntime- en poolniveau-bibliotheken.
- Notebookbibliotheken hebben de hoogste prioriteit.
- R-bibliotheken met sessiebereik blijven niet behouden over sessies heen. Deze bibliotheken worden aan het begin van elke sessie geïnstalleerd wanneer de bijbehorende installatieopdrachten worden uitgevoerd.
- R-bibliotheken met sessiebereik worden automatisch geïnstalleerd op zowel het stuurprogramma als de werkknooppunten.
Notitie
De opdrachten voor het beheren van R-bibliotheken worden uitgeschakeld bij het uitvoeren van pipeline-opdrachten. Als u een pakket in een pijplijn wilt installeren, moet u de mogelijkheden voor bibliotheekbeheer op werkruimteniveau gebruiken.
R-pakketten installeren vanuit CRAN
U kunt eenvoudig een R-bibliotheek installeren vanuit CRAN-.
# install a package from CRAN
install.packages(c("nycflights13", "Lahman"))
U kunt CRAN-momentopnamen ook gebruiken als de opslagplaats om ervoor te zorgen dat u elke keer dezelfde pakketversie downloadt.
# install a package from CRAN snapsho
install.packages("highcharter", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")
R-pakketten installeren met devtools
De devtools
-bibliotheek vereenvoudigt de ontwikkeling van pakketten om algemene taken te versnellen. Deze bibliotheek wordt geïnstalleerd in de standaardRuntime van Microsoft Fabric.
U kunt devtools
gebruiken om een specifieke versie van een bibliotheek op te geven die u wilt installeren. Deze bibliotheken worden op alle knooppunten in het cluster geïnstalleerd.
# Install a specific version.
install_version("caesar", version = "1.0.0")
Op dezelfde manier kunt u rechtstreeks vanuit GitHub een bibliotheek installeren.
# Install a GitHub library.
install_github("jtilly/matchingR")
Momenteel worden de volgende devtools
functies ondersteund in Microsoft Fabric:
Bevelen | Beschrijving |
---|---|
install_github() | Hiermee wordt een R-pakket vanuit GitHub geïnstalleerd |
install_gitlab() | Een R-pakket installeren vanuit GitLab |
install_bitbucket() | Hiermee wordt een R-pakket van BitBucket geïnstalleerd |
install_url() | Hiermee wordt een R-pakket van een willekeurige URL geïnstalleerd |
install_git() | Installaties vanuit een willekeurige Git-opslagplaats |
install_local() | Wordt geïnstalleerd vanuit een lokaal bestand op schijf |
install_version() | Installaties van een specifieke versie op CRAN |
Aangepaste R-bibliotheken installeren
Als u een aangepaste bibliotheek op sessieniveau wilt gebruiken, moet u deze eerst uploaden naar een gekoppeld Lakehouse.
Open het notitieblok waarin u de aangepaste bibliotheek wilt gebruiken.
Selecteer aan de linkerkant toevoegen om een bestaand lakehouse toe te voegen of een lakehouse te maken.
Klik met de rechtermuisknop of selecteer de '...' naast Bestanden om uw .tar.gz-bestand te uploaden.
Nadat u het hebt geüpload, gaat u terug naar uw notitieblok. Gebruik de volgende opdracht om de aangepaste bibliotheek te installeren voor uw sessie:
install.packages("filepath/filename.tar.gz", repos = NULL, type = "source")
Geïnstalleerde bibliotheken weergeven
Voer een query uit voor alle bibliotheken die in uw sessie zijn geïnstalleerd met behulp van de opdracht library
.
# query all the libraries installed in current session
library()
Gebruik de functie packageVersion
om de versie van de bibliotheek te controleren:
# check the package version
packageVersion("caesar")
Een R-pakket verwijderen uit een sessie
U kunt de functie detach
gebruiken om een bibliotheek uit de naamruimte te verwijderen. Deze bibliotheken blijven op schijf totdat ze opnieuw worden geladen.
# detach a library
detach("package: caesar")
Als u een pakket met sessiebereik uit een notebook wilt verwijderen, gebruikt u de opdracht remove.packages()
. Deze bibliotheekwijziging heeft geen invloed op andere sessies in hetzelfde cluster. Gebruikers kunnen de ingebouwde bibliotheken van de standaard-runtime van Microsoft Fabric niet verwijderen.
Notitie
U kunt kernpakketten zoals SparkR, SparklyR of R niet verwijderen.
remove.packages("caesar")
R-bibliotheken met sessiebereik en SparkR
Er zijn notebookbibliotheken beschikbaar voor SparkR-werkrollen.
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)
R-bibliotheken met sessie-georiënteerd bereik en sparklyr
Met spark_apply()
in sparklyr kunt u R-pakketten in Spark gebruiken. Standaard wordt in sparklyr::spark_apply()
het argument pakketten ingesteld op FALSE. Hiermee kopieert u bibliotheken in de huidige libPaths naar de werkers, zodat u ze op werkers kunt importeren en gebruiken. U kunt bijvoorbeeld het volgende uitvoeren om een met caesar versleuteld bericht te genereren met 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)
Verwante inhoud
Meer informatie over de R-functionaliteiten:
- SparkR- gebruiken
- Sparklyr- gebruiken
- Tidyverse gebruiken
- R-visualisatie maken