Administration af R-bibliotek

Biblioteker indeholder genanvendelig kode, som du måske vil inkludere i dine programmer eller projekter til Microsoft Fabric Spark.

Vigtigt

Microsoft Fabric er i øjeblikket i PRØVEVERSION. Disse oplysninger relaterer til et foreløbig produkt, der kan ændres væsentligt, før de udgives. Microsoft giver ingen garantier, udtrykt eller stiltiende, med hensyn til de oplysninger, der er angivet her.

Microsoft Fabric understøtter en R-kørsel med mange populære R-pakker med åben kildekode, herunder TidyVerse, forudinstalleret. Når en Spark-forekomst starter, inkluderes disse biblioteker automatisk og er tilgængelige, så de kan bruges med det samme i notesbøger eller Spark-jobdefinitioner.

Du skal muligvis opdatere dine R-biblioteker af forskellige årsager. En af dine kerneafhængigheder har f.eks. udgivet en ny version, eller dit team har bygget en brugerdefineret pakke, som du har brug for tilgængelig i dine Spark-klynger.

Der er to typer biblioteker, som du måske vil medtage på baggrund af dit scenarie:

  • Feedbiblioteker refererer til dem, der findes i offentlige kilder eller lagre, f.eks . CRAN eller GitHub.

  • Brugerdefinerede biblioteker er den kode, der er oprettet af dig eller din organisation. .tar.gz kan administreres via biblioteksadministrationsportaler.

Der er installeret to niveauer af pakker på Microsoft Fabric:

  • Arbejdsområde: Installation på arbejdsområdeniveau definerer arbejdsmiljøet for hele arbejdsområdet. De biblioteker, der er installeret på arbejdsområdeniveau, er tilgængelige for alle notesbøger og SJD'er under dette arbejdsområde. Opdater arbejdsområdebibliotekerne, når du vil konfigurere det delte miljø for alle elementer i et arbejdsområde.

  • Session : En installation på sessionsniveau opretter et miljø for en bestemt notesbogsession. Ændringen af biblioteker på sessionsniveau bevares ikke mellem sessioner.

Opsummering af de aktuelt tilgængelige funktionsmåder for administration af R-bibliotek:

Bibliotekstype Installation på arbejdsområdeniveau Installation på sessionsniveau
R-feed (CRAN) Understøttes ikke Understøttet
R-brugerdefineret Understøttet Understøttet

Forudsætninger

Administration af R-bibliotek på arbejdsområdeniveau

Administrer dine brugerdefinerede biblioteker på arbejdsområdeniveau i indstillinger for arbejdsområde. R understøtter i øjeblikket kun brugerdefinerede biblioteker i indstillingerne for arbejdsområdet.

  1. Vælg dit arbejdsområde.

  2. Vælg Indstillinger for arbejdsområde øverst på siden.

    Skærmbillede, der viser placeringen af indstillinger for arbejdsområde.

  3. Vælg Data engineering/ScienceLibrary Management.

  4. Vælg fanen for brugerdefinerede biblioteker.

Bemærk

  • Det er kun administratoren af arbejdsområdet, der har tilladelse til at opdatere indstillingerne på arbejdsområdeniveau.
  • Administration af R-feedbiblioteker i indstillinger for arbejdsområde understøttes i øjeblikket ikke.

Installér og administrer dine brugerdefinerede R-pakker, dvs . .tar.gz i afsnittet Brugerdefinerede biblioteker .

  • Upload: Vælg knappen Overfør, og vælg din pakke i din lokale mappe. Vælg derefter Anvend for at føje pakken til arbejdsområdet. Modulet til administration af bibliotek hjælper dig med at håndtere potentielle konflikter og påkrævede afhængigheder i dine brugerdefinerede biblioteker.

  • Fjern: Hvis et brugerdefineret bibliotek ikke længere er nyttigt for dine Spark-programmer, skal du bruge papirkurven til at fjerne det.

  • Gennemse og anvend ændringer: Når ændringerne venter, skal du gå til panelet Ventende ændringer for at gennemse dem eller annullere en ændring.

R-biblioteker på sessionsniveau

Når du udfører interaktive dataanalyser eller maskinel indlæring, kan du prøve nyere pakker, eller du har muligvis brug for pakker, der i øjeblikket ikke er tilgængelige i dit arbejdsområde. I stedet for at opdatere indstillingerne for arbejdsområdet kan du bruge sessionsomfangede pakker til at tilføje, administrere og opdatere sessionsafhængigheder.

  • Når du installerer sessionsområdebaserede biblioteker, er det kun den aktuelle notesbog, der har adgang til de angivne biblioteker.
  • Disse biblioteker påvirker ikke andre sessioner eller job ved hjælp af den samme Spark-gruppe.
  • Disse biblioteker er installeret oven på bibliotekerne på basiskørsels- og gruppeniveau.
  • Notesbogbiblioteker har den højeste prioritet.
  • R-biblioteker, der er omfattet af sessioner, fortsætter ikke på tværs af sessioner. Disse biblioteker installeres i starten af hver session, når de relaterede installationskommandoer udføres.
  • Sessionsbaserede R-biblioteker installeres automatisk på tværs af både driver- og arbejdernoderne.

Bemærk

Kommandoerne til administration af R-biblioteker er deaktiveret, når du kører pipelinejob. Hvis du vil installere en pakke i en pipeline, skal du bruge biblioteksadministrationsfunktionerne på arbejdsområdeniveau.

Installér R-pakker fra CRAN

Du kan nemt installere et R-bibliotek fra CRAN.

# install a package from CRAN
install.packages(c("nycflights13", "Lahman"))

Du kan også bruge CRAN-snapshots som lageret for at sikre, at du downloader den samme pakkeversion hver gang.

# install a package from CRAN snapsho
install.packages("highcharter", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")

Installér R-pakker ved hjælp af devtools

Biblioteket devtools forenkler pakkeudvikling for at fremskynde almindelige opgaver. Dette bibliotek er installeret i Microsoft Fabric-standardkørslen.

Du kan bruge devtools til at angive en bestemt version af et bibliotek, der skal installeres. Disse biblioteker installeres på tværs af alle noder i klyngen.

# Install a specific version. 
install_version("caesar", version = "1.0.0")

På samme måde kan du installere et bibliotek direkte fra GitHub.

# Install a GitHub library. 

install_github("jtilly/matchingR")

I øjeblikket understøttes følgende devtools funktioner i Microsoft Fabric:

Kommando Beskrivelse
install_github() Installerer en R-pakke fra GitHub
install_gitlab() Installerer en R-pakke fra GitLab
install_bitbucket() Installerer en R-pakke fra BitBucket
install_url() Installerer en R-pakke fra en vilkårlig URL-adresse
install_git() Installerer fra et vilkårligt git-lager
install_local() Installerer fra en lokal fil på disken
install_version() Installerer fra en bestemt version på CRAN

Installér brugerdefinerede R-biblioteker

Hvis du vil bruge et brugerdefineret bibliotek på sessionsniveau, skal du først uploade det til et tilknyttet Lakehouse.

  1. I venstre side skal du vælge Tilføj for at tilføje et eksisterende lakehouse eller oprette et lakehouse.

    Skærmbillede af, hvordan du føjer et lakehouse til din notesbog.

  2. Hvis du vil føje filer til dette lakehouse, skal du vælge dit arbejdsområde og derefter vælge lakehouse.

    Skærmbillede af, hvordan du navigerer til dit lakehouse for at tilføje filer.

  3. Højreklik eller vælg "..." ud for Filer for at overføre .tar.gz-filen .

    Skærmbillede af, hvordan du uploader din fil til mappen Lakehouse Files.

  4. Når du har uploadet, skal du gå tilbage til din notesbog. Brug følgende kommando til at installere det brugerdefinerede bibliotek i sessionen:

    install.packages("filepath/filename.tar.gz", repos = NULL, type = "source")
    

Vis installerede biblioteker

Forespørg på alle de biblioteker, der er installeret i sessionen, ved hjælp af kommandoen library .

# query all the libraries installed in current session
library()

Brug funktionen packageVersion til at kontrollere versionen af biblioteket:

# check the package version
packageVersion("caesar")

Fjern en R-pakke fra en session

Du kan bruge funktionen detach til at fjerne et bibliotek fra navneområdet. Disse biblioteker forbliver på disken, indtil de indlæses igen.

# detach a library

detach("package: caesar")

Hvis du vil fjerne en pakke, der er omfattet af en session, fra en notesbog, skal du bruge kommandoen remove.packages() . Denne ændring af biblioteket har ingen indflydelse på andre sessioner i den samme klynge. Brugerne kan ikke fjerne eller fjerne indbyggede biblioteker i Microsoft Fabric-standardkørslen.

Bemærk

Du kan ikke fjerne kernepakker som SparkR, SparklyR eller R.

remove.packages("caesar")

Sessionsbaserede R-biblioteker og SparkR

Biblioteker, der er omfattet af notesbogen, er tilgængelige for SparkR-arbejdere.

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)

Sessionsbaserede R-biblioteker og sparklyr

Med spark_apply() sparklyr kan du bruge alle R-pakker i Spark. Argumentet pakker angiver som standard til FALSE i sparklyr::spark_apply(). Dette kopierer biblioteker i de aktuelle libPaths til arbejderne, så du kan importere og bruge dem på arbejdere. Du kan f.eks. køre følgende for at generere en Cæsar-krypteret meddelelse med 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)

Næste trin

Få mere at vide om R-funktionerne: