Administrere Apache Spark-biblioteker i Microsoft Fabric

Biblioteker gir gjenbrukbar kode som Apache Spark-utviklere kanskje vil inkludere i Spark-programmet.

Hvert arbeidsområde leveres med et forhåndsinstallert sett med biblioteker som er tilgjengelige i Spark-kjøretiden og kan brukes umiddelbart i notatblokken eller spark-jobbdefinisjonen. Vi refererer til disse som innebygde biblioteker.

Viktig

Microsoft Fabric er for øyeblikket i FORHÅNDSVERSJON. Denne informasjonen er knyttet til et forhåndsutgitt produkt som kan endres vesentlig før det utgis. Microsoft gir ingen garantier, uttrykt eller underforstått, med hensyn til informasjonen som er oppgitt her.

Basert på brukerscenarioer og spesifikke behov, kan du inkludere andre biblioteker. Det finnes to typer biblioteker du kanskje vil inkludere:

  • Feedbibliotek: Feedbiblioteker er de som kommer fra offentlige kilder eller repositorier. Du kan installere Python-feedbiblioteker fra PyPI og Conda ved å angi kilden i bibliotekbehandlingsportalene. Du kan også bruke en Conda-miljøspesifikasjonsfil .yml til å installere biblioteker.

  • Egendefinert bibliotek: Egendefinerte biblioteker er koden som er bygd av deg eller organisasjonen. .whl, .jar og .tar.gz kan administreres gjennom bibliotekbehandlingsportaler. Vær oppmerksom på at .tar.gz bare støttes for R-språk. Bruk WHL for egendefinerte Python-biblioteker.

Sammendrag av biblioteksbehandling og anbefalte fremgangsmåter

Du kan administrere alle tidligere nevnte typer biblioteker via to forskjellige inngangspunkter: bibliotekadministrasjon i innstillinger for arbeidsområdet og innebygd installasjon.

  1. Administrasjon av arbeidsområdebibliotek: Innstillinger for arbeidsområdebibliotek definerer arbeidsmiljøet for hele arbeidsområdet. Bibliotekene som er installert på et arbeidsområdenivå, er tilgjengelige for alle notatblokker og Spark-jobbdefinisjoner under dette arbeidsområdet. Oppdater bibliotekene for arbeidsområdet når du vil konfigurere det delte miljøet for alle elementer i et arbeidsområde.

    Viktig

    Administrasjon av arbeidsområdebibliotek er bare begrenset til arbeidsområdeadministrator. Arbeidsområdemedlem, bidragsyter og visningsprogram kan vise bibliotekene som er installert av administratoren.

  2. Innebygd installasjon: Med innebygd installasjon kan du installere biblioteker for notatblokkøkten uten å påvirke det globale miljøet. Dette er et praktisk alternativ når du vil ha en midlertidig og rask løsning. Du kan for eksempel prøve ut en lokal pakke eller bruke noen ekstra pakker for én enkelt økt. For øyeblikket kan Python-pakker og R-pakker administreres på linje.

    Viktig

    Innebygd installasjon er øktspesifikk og vedvarer ikke på tvers av økter.

    Python-tolken startes på nytt for å bruke endringene i biblioteket. Alle variabler som er definert før du kjører kommandocellen, går tapt. Derfor anbefaler vi på det sterkeste at du legger til alle kommandoene for å legge til, slette eller oppdatere Python-pakker i begynnelsen av notatblokken.

Oppsummerer alle virkemåter for bibliotekbehandling som for øyeblikket er tilgjengelige i Microsoft Fabric:

Biblioteknavn Oppdatering av arbeidsområde Innebygd installasjon
Python-feed (PyPI & Conda) Støttes Støttes
Python-egendefinert (WHL) Støttes Støttes
R-feed (CRAN) Støttes ikke Støttes
R egendefinert (.tar.gz) Støttes Støttes
Jar Støttes Støttes ikke

Viktig

Vi har for øyeblikket begrensninger for .jar-biblioteket .

  • Hvis du laster opp en .jar-fil med en annen versjon av det innebygde biblioteket, vil den ikke være effektiv i Start-utvalget, siden alle .jar-filer er forhånds importert i Starter-utvalget. Bare den nye .jar vil være effektiv på Starter bassenger. De egendefinerte spark-bassengene har ingen slike begrensninger, de egendefinerte .jar-filene som lastes opp med en annen versjon, overstyrer de innebygde, og de nye er også effektive.
  • %% konfigurer magiske kommandoer støttes ikke fullstendig på Fabric for øyeblikket. Ikke bruk den til å hente .jar-filen til notatblokkøkten.

Bibliotekbehandling i arbeidsområdeinnstilling

Under innstillingene for arbeidsområde finner du administrasjonsportalen for bibliotek på arbeidsområdenivå: Arbeidsområde som angir> administrasjon avdatateknikkbibliotek>.

Behandle feedbibliotek i arbeidsområdeinnstilling

I denne delen forklarer vi hvordan du administrerer feedbiblioteker fra PyPI eller Conda ved hjelp av administrasjonsportalen for arbeidsområdebibliotek.

  • Vis og søk i feedbibliotek: Du kan se de installerte bibliotekene og navnet, versjonen og avhengighetene til bibliotekbehandlingsportalen. Du kan også bruke filterboksen øverst til høyre for å finne et installert bibliotek raskt.

  • Legg til nytt feedbibliotek: Standardkilden for installasjon av Python-feedbiblioteker er PyPI. Du kan også velge Conda fra rullegardinknappen ved siden av Legg til-knappen. Hvis du vil legge til et nytt bibliotek, klikker du knappen + og skriver inn biblioteknavnet og -versjonen i den nye raden.

    Du kan også laste opp en YML-fil for å installere flere feedbiblioteker samtidig.

  • Fjern eksisterende feedbibliotek: Hvis du vil fjerne et bibliotek, klikker du papirkurvknappen på raden.

  • Oppdater versjonen av eksisterende feedbibliotek: Hvis du vil endre versjonen av et bibliotek, velger du en annen fra rullegardinlisten på raden.

  • Se gjennom og bruk endringer: Du kan se gjennom endringene i panelet Ventende endringer. Du kan fjerne en endring ved å klikke på X-knappen eller forkaste alle endringer ved å klikke Forkast nederst på siden. Når du er fornøyd med endringene, klikker du Bruk for å gjøre disse endringene effektive.

Behandle egendefinerte biblioteker i arbeidsområdeinnstillingen

I denne delen forklarer vi hvordan du administrerer egendefinerte pakker, for eksempel .jar, ved hjelp av administrasjonsportalen for arbeidsområdebiblioteket.

  • Last opp nytt egendefinert bibliotek: Du kan laste opp egendefinerte koder som pakker til Microsoft Fabric-kjøretiden gjennom portalen. Bibliotekbehandlingsmodulen hjelper deg med å løse potensielle konflikter og laste ned avhengigheter i de egendefinerte bibliotekene.

    Hvis du vil laste opp en pakke, klikker du Last opp-knappen under egendefinerte biblioteker-panelet og velger en lokal katalog.

  • Fjern eksisterende egendefinert bibliotek: Du kan fjerne et egendefinert bibliotek fra Spark-kjøretiden ved å klikke på papirkurvknappen under egendefinerte biblioteker-panelet .

  • Se gjennom og bruk endringer: I likhet med feedbiblioteker kan du se gjennom endringene i ventende endringer-panelet og bruke dem på Microsoft Fabric Spark-miljøet i arbeidsområdet.

Obs!

For WHL-pakker laster installasjonsprosessen for biblioteket automatisk ned avhengighetene fra offentlige kilder. Denne funksjonen er imidlertid ikke tilgjengelig for .tar.gz-pakker . Du må laste opp de avhengige pakkene i hovedpakken .tar.gz manuelt hvis det finnes noen.

Avbryt oppdatering

Oppdateringsprosessen for biblioteket kan ta litt tid å fullføre. Du har muligheten til å avbryte prosessen og fortsette å redigere mens den oppdateres. Avbryt-knappen vises under prosessen.

Feilsøking

Hvis oppdateringsprosessen for biblioteket mislykkes, mottar du et varsel. Du kan klikke på Vis logg-knappen for å se loggdetaljene og feilsøke problemet. Hvis det oppstår en systemfeil, kan du kopiere rotaktivitets-ID-en og rapportere den til kundestøtteteamet.

Innebygd installasjon

Hvis du vil bruke noen ekstra pakker til en hurtigtest i en interaktiv notatblokkkjøring, er innebygd installasjon det mest praktiske alternativet.

Viktig

%pip anbefales i stedet for !pip. !pip er en innebygd IPython-kommando for skall som har følgende begrensninger:

  • !pip installerer bare pakken på drivernoden uten executor-noder.
  • Pakker som installeres gjennom !pip , vil ikke påvirkes når det er i konflikt med innebygde pakker eller når det allerede er importert i notatblokken.

%pip håndterer imidlertid alle scenarioer som er nevnt ovenfor. Biblioteker som er installert via %pip , vil være tilgjengelige på begge driverens eksekutornoder & og vil fremdeles være effektive selv om de allerede er importert.

Tips

  • Installeringskommandoen %conda tar vanligvis lengre tid enn installeringskommandoen %pip for å installere nye Python-biblioteker, fordi den kontrollerer de fullstendige avhengighetene og løser konflikter. Du vil kanskje bruke %conda-installasjon for mer pålitelighet og stabilitet. Du kan bruke %pip-installasjon hvis du er sikker på at biblioteket du vil installere, ikke er i konflikt med de forhåndsinstallerte bibliotekene i kjøretidsmiljøet.
  • Du finner alle tilgjengelige Python-innebygde kommandoer og klargjøringer: %pip-kommandoer og %conda-kommandoer

Behandle Python-feedbiblioteker gjennom innebygd installasjon

I dette eksemplet viser vi deg hvordan du bruker innebygde kommandoer til å behandle biblioteker. La oss si at du vil bruke altair, et kraftig visualiseringsbibliotek for Python, for en engangs datautforskning. La oss si at biblioteket ikke er installert på arbeidsområdet. I eksemplet nedenfor bruker vi conda-kommandoer til å illustrere trinnene.

Du kan bruke innebygde kommandoer til å aktivere altair på notatblokkøkten uten å påvirke andre økter i notatblokken eller andre elementer.

  1. Kjør følgende kommandoer i en notatblokkkodecelle for å installere altair-biblioteket og vega_datasets, som inneholder datasett du kan bruke til å visualisere:

    %conda install altair          # install latest version through conda command
    %conda install vega_datasets   # install latest version through conda command
    

    Loggen i celleutdataene angir resultatet av installasjonen.

  2. Importer pakken og datasettet ved å kjøre følgende koder i en annen notatblokkcelle:

    import altair as alt
    from vega_datasets import data
    
  3. Nå kan du leke deg med altair-biblioteket med øktomfang:

    # 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()
    

Behandle egendefinerte Python-biblioteker gjennom innebygd installasjon

Du kan laste opp de egendefinerte Python-bibliotekene til Fil-mappen i lakehouse som er knyttet til notatblokken. Gå til lakehouse, klikk på ... -ikonet i Fil-mappen , og last opp det egendefinerte biblioteket.

Når du har lastet opp, kan du bruke følgende kommando til å installere det egendefinerte biblioteket i notatblokkøkten:

# install the .whl through pip command
%pip install /lakehouse/default/Files/wheel_file_name.whl             

Behandle R-feedbiblioteker gjennom innebygd installasjon

Microsoft Fabric støtter install.packages(), remove.packages() og devtools:: kommandoer for å administrere R-biblioteker.

Tips

Du finner alle tilgjengelige R-innebygde kommandoer og klargjøringer: kommandoen install.packages, kommandoen remove.package og kommandoene devtools.

Følg dette eksemplet for å gå gjennom trinnene for å installere et R-feedbibliotek:

  1. Bytt arbeidsspråk til SparkR(R) på notatblokkbåndet.

  2. Kjør følgende kommando i en notatblokkcelle for å installere cæsarbiblioteket :

    install.packages("caesar")
    
  3. Nå kan du leke deg med cæsarbiblioteket med øktomfang med Spark-jobb

    library(SparkR)
    sparkR.session()
    
    hello <- function(x) {
    library(caesar)
    caesar(x)
    }
    spark.lapply(c("hello world", "good morning", "good evening"), hello)
    

Neste trinn