Administrer Apache Spark-biblioteker i Microsoft Fabric
Et bibliotek er en samling af forudskrevet kode, der kan importeres for at give ekstra funktionalitet. Ved hjælp af biblioteker kan udviklere spare tid og kræfter ved ikke at skulle skrive kode fra bunden for at udføre almindelige opgaver. I stedet kan de importere biblioteket og bruge dets funktioner og klasser til at opnå den ønskede funktionalitet. På Microsoft Fabric findes der flere mekanismer, der kan hjælpe dig med at administrere og bruge bibliotekerne.
- Indbyggede biblioteker: Hver Fabric Spark-kørsel giver et omfattende sæt populære forudinstallerede biblioteker. Du kan finde den komplette indbyggede biblioteksliste i Fabric Spark Runtime
- Offentligt bibliotek: Offentlige biblioteker stammer fra lagre som PyPI og Conda, som understøttes i øjeblikket.
- Brugerdefineret bibliotek: Brugerdefinerede biblioteker refererer til kode, der er oprettet af dig eller din organisation, og understøttes i formaterne .whl, .jar og .tar.gz . Formatet .tar.gz understøttes kun for R-sprog. I forbindelse med brugerdefinerede Python-biblioteker skal du bruge .whl-formatet .
Indstilling for biblioteksstyring i arbejdsområde
Vigtigt
Biblioteksstyring i arbejdsområdeindstillingen understøttes ikke længere. Du kan følge "Overfør arbejdsområdebiblioteker og Spark-egenskaber til et standardmiljø" for at overføre dem til et miljø og vedhæfte dem som standard i arbejdsområdet.
Oversigt over bedste praksis for administration af biblioteker
Scenarie 1: Administratorer angiver standardbiblioteker for arbejdsområdet
Hvis du vil angive standardbiblioteker, skal du være administrator af arbejdsområdet. Du kan oprette et nyt miljø, installere de påkrævede biblioteker og derefter vedhæfte dette miljø som standard for arbejdsområdet i indstillingen for arbejdsområdet.
Definitionerne af notesbøger og Spark-job i arbejdsområdet, som er knyttet til arbejdsområdets Indstillinger, starter sessioner med biblioteker, der er installeret i arbejdsområdets standardmiljø.
Scenarie 2: Fast biblioteksspecifikationer for et eller flere kodeelementer
Du kan installere bibliotekerne i et miljø og vedhæfte dem til kodeelementerne , hvis du vil bevare biblioteksspecifikationerne.
En fordel ved at gøre det er, at det sparer duplikeret indsats, hvis kørsel af koden kræver fælles biblioteker hele tiden. Når de er installeret i miljøet, er de effektive i alle Spark-sessioner, hvis miljøet er tilknyttet.
En anden fordel er, at bibliotekskonfigurationsgranularitet er lavere end niveauet for arbejdsområdet, der understøttes. Ét miljø kan knyttes til flere kodeartefakter. Hvis du har et undersæt af notesbøger eller Spark-jobdefinitioner i ét arbejdsområde, der kræver de samme biblioteker, skal du vedhæfte dem til det samme miljø. Administration, medlem og bidragyder i arbejdsområdet kan oprette, redigere og vedhæfte miljøet.
Scenarie 3: Indbygget installation i interaktiv kørsel
Hvis du vil bruge et bibliotek, der ikke er installeret til engangsbrug i en interaktiv notesbogkørsel, er indbygget installation den mest praktiske løsning. Indbyggede kommandoer i Fabric gør det muligt for dig at have biblioteket effektivt i den aktuelle Spark-session for notesbøger, men det fortsætter ikke på tværs af forskellige sessioner.
Brugere, der har tilladelse til at køre notesbogen, kan installere ekstra biblioteker i Spark-sessionen.
Oversigt over understøttede bibliotekstyper
Bibliotekstype | Administration af miljøbiblioteker | Indbygget installation |
---|---|---|
Python Public (PyPI & Conda) | Understøttet | Understøttet |
Brugerdefineret Python (.whl) | Understøttet | Understøttet |
R Offentlig (CRAN) | Ikke understøttet | Understøttet |
Brugerdefineret R (.tar.gz) | Understøttet | Understøttet |
Krukke | Understøttes som brugerdefineret bibliotek | Ikke understøttet |
Vigtigt
Vi har i øjeblikket begrænsninger for biblioteket .jar .
- For Scala-brugere kan den .jar fil, der tilsidesætter det indbyggede bibliotek med et andet, installeres korrekt i miljøet, men ikke effektivt til dine Spark/Scala-sessioner. Den nye .jar fungerer fint i sessionerne.
- For Python-brugere understøttes alle .jar filer i øjeblikket ikke i miljøet. De kan installeres korrekt i miljøet, men de er ikke effektive i PySpark-sessionerne.
- De .jar filer kan installeres på sessionsniveau for notesbogen i stedet for.
Indbygget installation
Indbyggede kommandoer understøtter Python-biblioteker og R-biblioteker.
Indbygget Python-installation
Vigtigt
Python-fortolkeren genstartes for at anvende ændringen af biblioteker. Alle variabler, der er defineret, før kommandocellen køres, går tabt. Derfor anbefaler vi på det kraftigste, at du placerer alle kommandoerne til tilføjelse, sletning eller opdatering af Python-pakker i starten af din notesbog. %pip anbefales i stedet for !pip. !pip er en indbygget shellkommando i IPython, som har følgende begrænsninger:
- !pip installerer kun pakken på drivernoden uden eksekveringsnoder.
- Pakker, der installeres via !pip , påvirker ikke, når der er konflikt med indbyggede pakker, eller når de allerede er importeret i en notesbog.
%pip håndterer dog alle ovennævnte scenarier. Biblioteker, der er installeret via %pip , vil være tilgængelige på både driver- og eksekveringsnoder og vil stadig være effektive, selvom de allerede er importeret.
Tip
- Kommandoen %conda install tager normalt længere tid end kommandoen %pip install for at installere nye Python-biblioteker, fordi den kontrollerer de fulde afhængigheder og løser konflikter. Det kan være en god idé at bruge %conda-installation for at opnå større pålidelighed og stabilitet. Du kan bruge installationen af %pip , hvis du er sikker på, at det bibliotek, du vil installere, ikke er i konflikt med de forudinstallerede biblioteker i kørselsmiljøet.
- Alle tilgængelige Python-indbyggede kommandoer og dens præciseringer findes: %pip-kommandoer og %conda-kommandoer
Administrer offentlige Python-biblioteker via indbygget installation
I dette eksempel viser vi dig, hvordan du bruger indbyggede kommandoer til at administrere biblioteker. Lad os antage, at du vil bruge Altair, et effektivt visualiseringsbibliotek til Python, til en engangsudforskning af data. Og lad os antage, at biblioteket ikke er installeret i dit arbejdsområde. I følgende eksempel bruger vi conda-kommandoer til at illustrere trinnene.
Du kan bruge indbyggede kommandoer til at aktivere altair i notesbogsessionen uden at påvirke andre sessioner i notesbogen eller andre elementer.
Kør følgende kommandoer i en kodecelle i en notesbog for at installere altair-biblioteket og vega_datasets, som indeholder semantisk model, som du kan bruge til at visualisere:
%conda install altair # install latest version through conda command %conda install vega_datasets # install latest version through conda command
Outputtet af celleoutputtet angiver resultatet af installationen.
Importér pakken og den semantiske model ved at køre følgende koder i en anden notesbogcelle:
import altair as alt from vega_datasets import data
Nu kan du lege med altair-biblioteket, der er beregnet til sessionen:
# load a simple dataset as a pandas DataFrame cars = data.cars() alt.Chart(cars).mark_point().encode( x='Horsepower', y='Miles_per_Gallon', color='Origin', ).interactive()
Administrer brugerdefinerede Python-biblioteker via indbygget installation
Du kan uploade dine brugerdefinerede Python-biblioteker til mappen Filer i det lakehouse, der er knyttet til notesbogen. Gå til dit lakehouse, vælg ikonet ... i mappen Filer , og upload det brugerdefinerede bibliotek.
Når du har uploadet, kan du bruge følgende kommando til at installere det brugerdefinerede bibliotek i notesbogsessionen:
# install the .whl through pip command
%pip install /lakehouse/default/Files/wheel_file_name.whl
Indbygget R-installation
Fabric understøtter install.packages(), remove.packages() og devtools:: kommandoer til administration af R-biblioteker.
Tip
Find alle tilgængelige R-kommandoer og -præciseringer i kommandoen install.packages og kommandoen remove.package.
Administrer offentlige R-biblioteker via indbygget installation
Følg dette eksempel for at gennemgå trinnene til installation af et offentligt R-bibliotek:
Sådan installerer du et R-feedbibliotek:
Skift arbejdssproget til "SparkR(R)" på båndet i notesbogen.
installér Cæsar-biblioteket ved at køre følgende kommando i en notesbogcelle.
install.packages("caesar")
Nu kan du lege lidt med det sessionsområdede Cæsarbibliotek med et Spark-job.
library(SparkR) sparkR.session() hello <- function(x) { library(caesar) caesar(x) } spark.lapply(c("hello world", "good morning", "good evening"), hello)
Administrer Jar-biblioteker via indbygget installation
De .jar filer understøttes i notesbogsessioner med følgende kommando.
// Using notebook built-in folder as an example
%%configure -f:
{
"conf": {
"spark.jars": "{mssparkutils.nbResPath}/builtin/jar_file_name.jar"
}
}
Relateret indhold
Feedback
https://aka.ms/ContentUserFeedback for at få flere oplysninger.
Kommer snart: I hele 2024 udfaser vi GitHub-problemer som feedbackmekanisme for indhold og erstatter det med et nyt feedbacksystem. SeIndsend og få vist feedback om