Administrer Apache Spark-biblioteker i Microsoft Fabric
Biblioteker indeholder kode, der kan genbruges, og som Apache Spark-udviklere måske vil medtage i deres Spark-program.
Hvert arbejdsområde leveres med et forudinstalleret sæt biblioteker, der er tilgængelige i Spark-kørselstidspunktet, og som du kan bruge med det samme i en notesbog eller spark-jobdefinition. Vi refererer til disse som indbyggede biblioteker.
Vigtigt
Microsoft Fabric findes i øjeblikket i PRØVEVERSION. Disse oplysninger er relateret til et foreløbig produkt, der kan blive ændret væsentligt, før det udgives. Microsoft giver ingen garantier, udtrykt eller stiltiende, med hensyn til de oplysninger, der er angivet her.
På baggrund af dine scenarier og specifikke behov kan du inkludere andre biblioteker. Der er to typer biblioteker, som du kan medtage:
Feedbibliotek: Feedbiblioteker kommer fra offentlige kilder eller lagre. Du kan installere Python-feedbiblioteker fra PyPI og Conda ved at angive kilden på portalerne til biblioteksadministration. Du kan også bruge en Conda-miljøspecifikation .yml-fil til at installere biblioteker.
Brugerdefineret bibliotek: Brugerdefinerede biblioteker er den kode, der er oprettet af dig eller din organisation. .whl, .jar og .tar.gz kan administreres via biblioteksadministrationsportaler. Bemærk, at .tar.gz kun understøttes for R-sprog. brug .whl til brugerdefinerede Python-biblioteker.
Oversigt over biblioteksadministration og bedste praksis
Du kan administrere alle de tidligere nævnte typer biblioteker via to forskellige indgangspunkter: administration af biblioteker i indstillinger for arbejdsområder og indbygget installation.
Administration af arbejdsområdebibliotek: Indstillinger for arbejdsområdebibliotek definerer arbejdsmiljøet for hele arbejdsområdet. De biblioteker, der er installeret på et arbejdsområdeniveau, er tilgængelige for alle definitioner af notesbøger og Spark-job under det pågældende arbejdsområde. Opdater arbejdsområdebibliotekerne, når du vil konfigurere det delte miljø for alle elementer i et arbejdsområde.
Vigtigt
Administration af arbejdsområdebiblioteker er begrænset til administratorer af arbejdsområder. Medlemmer af arbejdsområdet, bidragydere og seere kan få vist de biblioteker, der er installeret af administratoren.
Indbygget installation: Med indbygget installation kan du installere biblioteker til notesbogsessionen, uden at det påvirker det globale miljø. Denne indstilling er praktisk, når du vil have en midlertidig og hurtig løsning. Det kan f.eks. være, at du vil prøve en lokal pakke eller bruge nogle andre pakker til en enkelt session. Python-pakker og R-pakker kan i øjeblikket administreres online.
Vigtigt
Indbygget installation er sessionsspecifik og fortsætter ikke på tværs af sessioner.
Python-fortolkeren genstartes for at anvende ændringerne af biblioteket. Alle variabler, der er defineret før kørsel af kommandocellen, 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.
Opsummering af alle funktionsmåder for biblioteksadministration, der i øjeblikket er tilgængelige i Fabric:
Biblioteksnavn | Opdatering af arbejdsområde | Indbygget installation |
---|---|---|
Python-feed (PyPI & Conda) | Understøttet | Understøttet |
Brugerdefineret Python (.whl) | Understøttet | Understøttet |
R-feed (CRAN) | Ikke understøttet | Understøttet |
R-brugerdefineret (.tar.gz) | Understøttet | Understøttet |
Krukke | Understøttet | Ikke understøttet |
Vigtigt
Vi har i øjeblikket begrænsninger for .jar-biblioteket .
- Hvis du uploader en .jar-fil med en anden version af det indbyggede bibliotek, vil den ikke være effektiv. Kun den nye .jar vil være effektiv til dine Spark-sessioner.
- %% Konfigurer magiske kommandoer understøttes ikke fuldt ud på Fabric i øjeblikket. Brug den ikke til at overføre .jar-filen til notesbogsessionen.
Indstilling for biblioteksstyring i arbejdsområde
Under indstillingerne for arbejdsområde finder du administrationsportalen for bibliotek på arbejdsområdeniveau: Indstilling af>datateknikerbiblioteksadministration>.
Indstillingen Administrer feedbibliotek i arbejdsområde
I dette afsnit forklarer vi, hvordan du administrerer feedbiblioteker fra PyPI eller Conda ved hjælp af administrationsportalen til arbejdsområdebiblioteket.
Visnings- og søgefeedbibliotek: Du kan se de installerede biblioteker og deres navn, version og afhængigheder på biblioteksadministrationsportalen. Du kan også bruge filterfeltet i øverste højre hjørne til hurtigt at finde et installeret bibliotek.
Tilføj nyt feedbibliotek: Standardkilden til installation af Python-feedbiblioteker er PyPI. Du kan også vælge "Conda" på rullelisten ud for knappen Tilføj. Hvis du vil tilføje et nyt bibliotek, skal du vælge knappen + og angive bibliotekets navn og version i den nye række.
Du kan også uploade en .yml-fil for at installere flere feedbiblioteker på én gang.
Fjern eksisterende feedbibliotek: Hvis du vil fjerne et bibliotek, skal du vælge knappen Papirkurv på rækken.
Opdater versionen af det eksisterende feedbibliotek: Hvis du vil ændre versionen af et bibliotek, skal du vælge et andet på rullelisten på rækken.
Gennemse og anvend ændringer: Du kan gennemse dine ændringer i panelet "Ventende ændringer". Du kan fjerne en ændring ved at klikke på knappen X eller slette alle ændringer ved at klikke på knappen Slet nederst på siden. Når du er tilfreds med dine ændringer, skal du vælge Anvend for at gøre disse ændringer gældende.
Indstillingen Administrer brugerdefinerede biblioteker i arbejdsområdet
I dette afsnit forklarer vi, hvordan du administrerer dine brugerdefinerede pakker, f.eks . .jar, ved hjælp af administrationsportalen til arbejdsområdebiblioteket.
Overfør nyt brugerdefineret bibliotek: Du kan uploade dine brugerdefinerede koder som pakker til Fabric-kørsel via portalen. Modulet til administration af biblioteker hjælper dig med at løse potentielle konflikter og downloade afhængigheder i dine brugerdefinerede biblioteker.
Hvis du vil overføre en pakke, skal du vælge knappen Overfør under panelet Brugerdefinerede biblioteker og vælge en lokal mappe.
Fjern eksisterende brugerdefineret bibliotek: Du kan fjerne et brugerdefineret bibliotek fra Spark-kørsel ved at klikke på papirkurvsknappen under panelet Brugerdefinerede biblioteker .
Gennemse og anvend ændringer: På samme måde som med feedbiblioteker kan du gennemse dine ændringer i panelet Ventende ændringer og anvende dem i dit Fabric Spark-arbejdsområdemiljø.
Bemærk
For .whl-pakker downloader biblioteksinstallationsprocessen automatisk afhængighederne fra offentlige kilder. Denne funktion er dog ikke tilgængelig for .tar.gz-pakker . Du skal uploade de afhængige pakker i den primære .tar.gz-pakke manuelt, hvis der er nogen.
Annuller opdatering
Det kan tage noget tid at fuldføre opdateringsprocessen for biblioteket. Du kan annullere processen og fortsætte redigeringen, mens den opdateres. Knappen Annuller vises under processen.
Fejlfinding
Hvis opdateringsprocessen for biblioteket mislykkes, modtager du en meddelelse. Du kan vælge knappen Vis log for at få vist logoplysninger og foretage fejlfinding af problemet. Hvis der opstår en systemfejl, kan du kopiere rodaktivitets-id'et og rapportere det til supportteamet.
Indbygget installation
Hvis du vil bruge nogle andre pakker til en hurtig test i en interaktiv notesbogkørsel, er indbygget installation den mest praktiske løsning.
Vigtigt
%pip anbefales i stedet for !pip. !pip er en indbygget IPython-shellkommando, 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 installeres 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 %pip-installation , 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-in-line-kommandoer og dens afklaringer kan findes: %pip-kommandoer og %conda-kommandoer
Administrer Python-feedbiblioteker 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 engangsundersøgelse 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 notesbogkodecelle for at installere Altair-biblioteket og vega_datasets, som indeholder datasæt, 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
Logfilen i celleoutputtet angiver resultatet af installationen.
Importér pakken og datasættet 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 det sessionsomfangede altair-bibliotek :
# 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
Administrer R-feedbiblioteker via indbygget installation
Fabric understøtter install.packages(), remove.packages() og devtools:: kommandoer til administration af R-biblioteker.
Tip
Alle tilgængelige R-in-line-kommandoer og dens afklaringer kan findes: install.packages command, remove.package command og devtools commands.
Følg dette eksempel for at gennemgå trinnene til installation af et R-feedbibliotek:
Skift arbejdssproget til "SparkR(R)" på båndet i notesbogen.
Kør følgende kommando i en notesbogcelle for at installere Cæsar-biblioteket :
install.packages("caesar")
Nu kan du lege med det sessionsomfangede Cæsar-bibliotek med Spark-job
library(SparkR) sparkR.session() hello <- function(x) { library(caesar) caesar(x) } spark.lapply(c("hello world", "good morning", "good evening"), hello)