Del via


Udvikl, udfør og administrer Microsoft Fabric-notesbøger

En Microsoft Fabric-notesbog er et primært kodeelement til udvikling af Apache Spark-job og eksperimenter med maskinel indlæring. Det er en webbaseret interaktiv overflade, der bruges af dataspecialister og datateknikere til at skrive kode, der drager fordel af omfattende visualiseringer og Markdown-tekst. I denne artikel forklares det, hvordan du udvikler notesbøger med kodecellehandlinger og kører dem.

Udvikl notesbøger

Notesbøger består af celler, som er individuelle kodeblokke eller tekstblokke, der kan køres uafhængigt af hinanden eller som en gruppe.

Vi leverer omfattende handlinger til udvikling af notesbøger:

Tilføj en celle

Der er flere måder at føje en ny celle til din notesbog på.

  1. Hold markøren over afstanden mellem to celler, og vælg Kode eller Markdown.

  2. Brug genvejstaster i kommandotilstand. Tryk på A for at indsætte en celle over den aktuelle celle. Tryk på B for at indsætte en celle under den aktuelle celle.

Angiv et primært sprog

Fabric-notesbøger understøtter i øjeblikket fire Apache Spark-sprog:

  • PySpark (Python)
  • Gnist (Scala)
  • Spark SQL
  • SparkR

Du kan angive det primære sprog for nye tilføjede celler på rullelisten på den øverste kommandolinje.

Brug flere sprog

Du kan bruge flere sprog i en notesbog ved at angive kommandoen language magic i starten af en celle. Du kan også skifte cellesproget fra sprogvælgeren. I følgende tabel vises de magiske kommandoer til skift af cellesprog.

Skærmbillede, der viser et eksempel på den sprogmagisk kommando, der er angivet i begyndelsen af en celle.

Kommandoen Magi Sprog Beskrivelse
%%pyspark Pyton Udfør en Python-forespørgsel mod Apache Spark-kontekst.
%%spark Scala Udfør en Scala-forespørgsel mod Apache Spark-kontekst.
%%sql SparkSQL Udfør en SparkSQL-forespørgsel mod Apache Spark Context.
%%html HTML-kode Udfør n HTML-forespørgsel mod Apache Spark-kontekst.
%%sparkr R Udfør en R-forespørgsel mod Apache Spark-kontekst.

IntelliSense i IDE-stil

Stofnotesbøger er integreret med Monaco-editoren for at bringe IntelliSense i IDE-stil til celleeditoren. Syntaksfremhævning, fejlmarkør og automatiske kodefuldførelser hjælper dig med hurtigt at skrive kode og identificere problemer.

IntelliSense-funktionerne er på forskellige modenhedsniveauer for forskellige sprog. I følgende tabel kan du se, hvad Fabric understøtter:

Sprog Syntaksfremhævning Syntaksfejlmærke Fuldførelse af syntakskode Fuldførelse af variabel kode Fuldførelse af systemfunktionskode Fuldførelse af brugerfunktionskode Smart indrykning Kodedelegering
PySpark (Python) Ja Ja Ja Ja Ja Ja Ja Ja
Pyton Ja Ja Ja Ja Ja Ja Ja Ja
Gnist (Scala) Ja Ja Ja Ja Ja Ja Ja Ja
SparkSQL Ja Ja Ja Ja Ja Nr. Ja Ja
SparkR Ja Ja Ja Ja Ja Ja Ja Ja
T-SQL Ja Ja Ja Nr. Ja Ja Ja Ja

Bemærk

Du skal have en aktiv Apache Spark-session for at kunne bruge fuldførelsen af IntelliSense-koden.

Gør Python-udvikling bedre med Pylance

Pylance, der er en effektiv og funktionsrig sprogserver, er nu tilgængelig i Fabric-notesbogen. Pylance gør Python-udvikling nemmere med intelligente fuldførelser, bedre fejlregistrering og forbedret kodeindsigt. Vigtige forbedringer omfatter smartere autofuldførelse, forbedret lambda-understøttelse, parameterforslag, forbedrede pegeoplysninger, bedre dokumentstrengsgengivelse og fejlfremhævning. Med Pylance bliver skrivning af Python- og PySpark-kode hurtigere, mere præcis og mere effektiv.

Kodestykker

Fabric-notesbøger indeholder kodestykker, der hjælper dig med nemt at skrive almindeligt anvendte kodemønstre, f.eks.:

  • Læsning af data som en Apache Spark DataFrame
  • Tegningsdiagrammer med matplotlib

Kodestykker vises i Genvejstaster i IDE-stil IntelliSense blandet med andre forslag. Indholdet af kodestykket er i overensstemmelse med kodecellesproget. Du kan se tilgængelige kodestykker ved at skrive Kodestykke. Du kan også skrive et hvilket som helst nøgleord for at få vist en liste over relevante kodestykker. Hvis du f.eks. skriver læs, kan du se listen over kodestykker, der skal læse data fra forskellige datakilder.

Animeret GIF med kodeuddrag.

Træk og slip for at indsætte kodestykker

Brug nemt træk og slip til at læse data fra Lakehouse Explorer. Flere filtyper understøttes her. du kan arbejde med tekstfiler, tabeller, billeder osv. Du kan enten slippe til en eksisterende celle eller til en ny celle. Notesbogen genererer kodestykket i overensstemmelse hermed for at få vist dataene.

Animeret GIF med træk og slip for at indsætte uddrag.

Træk og slip for at indsætte billeder

Brug træk og slip for nemt at indsætte billeder fra din browser eller lokale computer i en Markdown-celle.

Animeret GIF med træk og slip for at indsætte billeder.

Formatér tekstcelle med værktøjslinjeknapper

Hvis du vil fuldføre almindelige Markdown-handlinger, skal du bruge formatknapperne på værktøjslinjen tekstcelle.

Skærmbillede af værktøjslinjen til tekstformatering.

Fortryd eller annuller fortryd cellehandlinger

Vælg Fortryd eller Annuller Fortryd, eller tryk på Z eller Skift+Z for at tilbagekalde de seneste cellehandlinger. Du kan fortryde eller annullere fortryd for op til 10 af de seneste historiske cellehandlinger.

Skærmbillede, der viser menuindstillingerne for Fortryd og Annuller Fortryd.

Understøttede fortrydelsescellehandlinger:

  • Indsæt eller slet celle. Du kan tilbagekalde de slettede handlinger ved at vælge Fortryd (tekstindholdet bevares sammen med cellen).
  • Omarranger celle.
  • Slå parameter til/fra.
  • Konvertér mellem kodecelle og Markdown-celle.

Bemærk

Teksthandlinger i cellen og kommentering af kodeceller kan ikke fortrydes. Du kan fortryde eller annullere fortryd for op til 10 af de seneste historiske cellehandlinger.

Flyt en celle

Du kan trække fra den tomme del af en celle og slippe den til den ønskede placering.

Du kan også flytte den markerede celle ved hjælp af Flyt op og Flyt ned på båndet.

Skærmbillede, der viser indstillingerne for flytning af en celle.

Slet en celle

Hvis du vil slette en celle, skal du vælge knappen Slet i højre side af cellen.

Du kan også bruge genvejstaster i kommandotilstand. Tryk på D,D (D to gange) for at slette den aktuelle celle.

Skjul et celleinput

Vælg ellipsen Flere kommandoer (...) på celleværktøjslinjen og Skjul input for at skjule den aktuelle celles input. Hvis du vil udvide det igen, skal du vælge Vis input , når cellen er skjult.

Skjul et celleoutput

Vælg ellipsen Flere kommandoer (...) på celleværktøjslinjen og Skjul output for at skjule outputtet for den aktuelle celle. Hvis du vil udvide det igen, skal du vælge Vis output , når celleoutputtet er skjult.

Sikkerhed for celleoutput

Du kan bruge OneLake-dataadgangsroller (forhåndsversion) til kun at konfigurere adgang til bestemte mapper i et søhus under notesbogforespørgsler. Brugere uden adgang til en mappe eller tabel får vist en uautoriseret fejl under udførelse af forespørgsler.

Vigtigt

Sikkerhed gælder kun under udførelse af forespørgsler. Notesbogceller, der indeholder forespørgselsresultater, kan ses af brugere, der ikke har tilladelse til at køre forespørgsler direkte mod dataene.

Lås eller frys en celle

Med låsning og frysning af cellehandlinger kan du gøre cellerne skrivebeskyttede eller forhindre, at kodeceller køres individuelt.

Animeret GIF af lås eller frys en celle.

Flet og opdel celler

Du kan bruge Flet med forrige celle eller Flet med næste celle til nemt at flette relaterede celler.

Hvis du vælger Opdel celle , kan du opdele irrelevante sætninger til flere celler. Handlingen opdeler koden i henhold til markørens linjeposition.

Skærmbillede, der viser indtastning af flet opdelte celler.

Notesbogens indhold

Hvis du vælger Konturer eller Indholdsfortegnelse, vises den første markdown-overskrift i en markdown-celle i et margentekstvindue til hurtig navigation. Margenteksten Konturer kan tilpasses og kan skjules, så den passer bedst muligt til skærmen. Vælg knappen Indhold på notesbogens kommandolinje for at åbne eller skjule margenteksten.

Skærmbillede, der viser, hvor du kan vælge indstillingen Indhold.

Markdown-foldning

Indstillingen Markdown-foldning giver dig mulighed for at skjule celler under en Markdown-celle, der indeholder en overskrift. Markdown-cellen og dens skjulte celler behandles på samme måde som et sæt sammenhængende flervalgte celler, når der udføres cellehandlinger.

Animeret GIF af markdown-foldning.

Søg og erstat

Indstillingen Søg og erstat kan hjælpe dig med at matche og finde nøgleordene eller udtrykket i notesbogindholdet. Du kan også nemt erstatte destinationsstrengen med en ny streng.

Skærmbillede, der viser ruden Søg og erstat.

Indbygget fuldførelse af Copilot-kode (prøveversion)

Fuldførelse af indbygget kode i Copilot er en AI-drevet funktion, der hjælper dig med at skrive Python-kode hurtigere og mere effektivt i Fabric Notebooks. Denne funktion indeholder intelligente, kontekstafhængige kodeforslag, når du skriver kode. Det reducerer gentagne opgaver, minimerer syntaksfejl og fremskynder udviklingen ved at integrere problemfrit i din notesbogarbejdsproces.

Vigtigste fordele

  • AI-drevne fuldførelser: Genererer forslag baseret på din notesbogs kontekst ved hjælp af en model, der er oplært i millioner af kodelinjer.
  • Øger produktiviteten: Hjælper med at skrive komplekse funktioner, reducerer gentagen kodning og fremskynder udforskningen af ukendte biblioteker.
  • Reducerer fejl: Minimerer stavefejl og syntaksfejl med intelligente, kontekstafhængige fuldførelser.
  • Minimal opsætning: Indbygget i Fabric notebooks og kræver ingen installation. Du kan bare aktivere den og begynde at kode.

Sådan fungerer det

Aktivér indbyggede kodeforslag ved hjælp af til/fra-knappen nederst i din notesbog.

Skærmbillede, der viser, hvordan man aktiverer Copilot-kodefuldførelser.

Mens du skriver, vises forslag i lyse grå tekst, og tryk på tabulatortasten for at acceptere eller redigere. Forslag er baseret på tidligere notesbogceller.

Skærmbillede, der viser automatisk kodeforslag med Copilot-kodefuldførelse.

Bemærk

Aktivering af Copilot inline-kodefuldførelse bruger flere kapacitetsenheder.

Aktuelle begrænsninger

  • Fuldførelse af indbyggede copilotkode understøtter i øjeblikket Python-sprog og bruger kontekst fra tidligere celler og Lakehouse-skemaer.
  • Forslag, der overvejer data fra Lakehouse-skemaer.
  • Kun et undersæt af skemaelementer bruges, når der er mange tabeller eller kolonner.
  • Dynamisk oprettede tabeller (via Spark) genkendes ikke i realtid.

Kør notesbøger

Du kan køre kodecellerne i notesbogen enkeltvist eller på én gang. Status og status for hver celle vises i notesbogen.

Kør en celle

Der er flere måder at køre koden på i en celle.

  • Peg på den celle, du vil køre, og vælg knappen Kør celle , eller tryk på Ctrl+Enter.

  • Brug genvejstaster i kommandotilstand. Tryk på Skift+Enter for at køre den aktuelle celle, og markér den næste celle. Tryk på Alt+Enter for at køre den aktuelle celle og indsætte en ny celle.

Kør alle celler

Vælg knappen Kør alle for at køre alle cellerne i den aktuelle notesbog i rækkefølge.

Kør alle celler over eller under

Udvid rullelisten fra Kør alle, og vælg derefter Kør celler ovenfor for at køre alle cellerne over den aktuelle i rækkefølge. Markér Kør celler nedenfor for at køre den aktuelle celle og alle cellerne under den aktuelle i rækkefølge.

Skærmbillede, der viser menuindstillingerne Kør alle.

Annuller alle aktive celler

Vælg Annuller alle for at annullere de aktive celler eller celler, der venter i køen.

Stop sessionen

Stop sessionen annullerer de aktive og ventende celler og stopper den aktuelle session. Du kan genstarte en helt ny session ved at vælge kørselsindstillingen igen.

Skærmbillede, der viser, hvor du kan vælge Annuller alle kørsler og stoppe en session.

Kørsel af reference

Referencen kører en notesbog

Ud over api'en til kørsel af notesboghjælpeprogrammer kan du også bruge den %run <notebook name> magiske kommando til at referere til en anden notesbog i den aktuelle notesbogs kontekst. Alle de variabler, der er defineret i referencenotesbogen, er tilgængelige i den aktuelle notesbog. Kommandoen %run Magic understøtter indlejrede kald, men understøtter ikke rekursive kald. Du modtager en undtagelse, hvis sætningens dybde er større end fem.

Eksempel: %run Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }.

Notesbogreference fungerer både i interaktiv tilstand og pipeline.

Bemærk

  • Kommandoen %run understøtter i øjeblikket kun referencenotesbøger i det samme arbejdsområde med den aktuelle notesbog.
  • Kommandoen %run understøtter i øjeblikket kun op til fire parameterværdityper: int, float, boolog string. Variabelerstatningshandling understøttes ikke.
  • Kommandoen %run understøtter ikke indlejret reference med en dybde, der er større end fem.

Referencen kører et script

Kommandoen %run giver dig også mulighed for at køre Python- eller SQL-filer, der er gemt i notesbogens indbyggede ressourcer, så du nemt kan udføre dine kildekodefiler i notesbogen.

%run [-b/--builtin -c/--current] [script_file.py/.sql] [variables ...]

For indstillinger:

  • -b/-indbygget: Denne indstilling angiver, at kommandoen finder og kører den angivne scriptfil fra notesbogens indbyggede ressourcer.
  • -c/-current: Denne indstilling sikrer, at kommandoen altid bruger den aktuelle notesbogs indbyggede ressourcer, selvom andre notesbøger refererer til den aktuelle notesbog.

Eksempler:

  • Sådan kører du script_file.py fra de indbyggede ressourcer: %run -b script_file.py

  • Sådan kører du script_file.sql fra de indbyggede ressourcer: %run -b script_file.sql

  • Sådan kører du script_file.py fra de indbyggede ressourcer med specifikke variabler: %run -b script_file.py { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }

Bemærk

Hvis kommandoen ikke indeholder -b/-indbygget, forsøger den at finde og udføre notesbogelementet i det samme arbejdsområde i stedet for de indbyggede ressourcer.

Eksempel på brug for indlejret kørselscase:

  • Lad os antage, at vi har to notesbøger.
    • Notesbog1: Indeholder script_file1.py i de indbyggede ressourcer
    • Notesbog2: Indeholder script_file2.py i de indbyggede ressourcer
  • Lad os bruge Notesbog1 til at arbejde som en rodnotesbog med indholdet: %run Notebook2.
  • I Notesbog2 er brugsinstruktionen derefter:
    • Hvis du vil køre script_file1.py i Notebook1-(rodnotesbogen), er koden: %run -b script_file1.py
    • Hvis du vil køre script_file2.py i Notebook2-(den aktuelle notesbog), er koden: %run -b -c script_file2.py

Variabeloversigt

Fabric-notesbøger indeholder en indbygget variabeloversigt, der viser listen over variablernes navn, type, længde og værdi i den aktuelle Spark-session for PySpark-celler (Python). Der vises automatisk flere variabler, som de er defineret i kodecellerne. Når du klikker på hver kolonneoverskrift, sorteres variablerne i tabellen.

Hvis du vil åbne eller skjule variabeloversigten, skal du vælge Variabler på båndet i notesbogen Vis.

Skærmbillede, der viser, hvor variabler skal åbnes.

Bemærk

Variabeloversigten understøtter kun Python.

Indikator for cellestatus

Der vises en trinvis status for udførelse af celler under cellen for at hjælpe dig med at se dens aktuelle status. Når cellekørslen er fuldført, vises der en kørselsoversigt med den samlede varighed og sluttid, og den gemmes der til fremtidig reference.

Skærmbillede, der viser et eksempel på oplysninger om status for cellekørsel.

Indikator for sessionsstatus

Konfiguration af timeout for session

I nederste venstre hjørne kan du vælge sessionsstatus for at få flere oplysninger om den aktuelle session:

Skærmbillede, der viser sessionsinformation.

I pop op-vinduet er der mulighed for at nulstille timeout til x minutter eller timer.

Skærmbillede, der viser sessionens timeout.

Vælg, hvor længe du vil have en uafbrudt session, og tryk på Anvend. Sessionens timeout nulstiller sig selv med den nye værdi, og du er klar!

Du kan også angive timeout som beskrevet i:

Forbliv logget ind: Hvis du ser dialogboksen Forbliv logget på under login, skal du vælge Ja for at deaktivere timeout for inaktiv session for din aktuelle session.

Vigtigt

Markér ikke afkrydsningsfeltet Vis ikke dette igen , da dette låser dine logonindstillinger permanent. Denne indstilling vises muligvis ikke, hvis lejeradministratoren har deaktiveret KMSI-indstillingen (Hold mig logget på).

Anmod om en politikændring: Hvis du har brug for en længere session, skal du bede din lejeradministrator om at forlænge politikken for timeout for inaktiv session. De kan gøre dette ved at gå til Timeout for inaktiv session for organisationsindstillinger > , sikkerhed og beskyttelse af personlige oplysninger > i Microsoft 365 Administration.

Bemærk

Hvis du vælger KMSI og/eller forlænger timeout-tiden for inaktiv session, øges risikoen for, at der åbnes adgang til en ulåst maskine.

Hvordan påvirker TIMEOUT for ABT og inaktiv session langvarige udførelser af Fabric Notebook?

Hvis din lejer bruger aktivitetsbaseret timeout (ABT), kan langvarige interaktive job i Fabric-notesbøger blive påvirket af Microsoft 365's timeoutpolitik for inaktiv session. Denne sikkerhedsfunktion er designet til at logge brugere af på inaktive, ikke-administrerede enheder, selvom et notesbogjob stadig kører. Mens aktiviteter i andre Microsoft 365-apps kan holde sessionen i live, er inaktive enheder logget af design.

Hvorfor er brugerne logget af, selv når et notesbogjob stadig kører?

Timeout for inaktiv session prioriterer sikkerhed ved at afslutte sessioner på inaktive enheder for at forhindre uautoriseret adgang. Selv når en udførelse af en notesbog er i gang, slutter sessionen, hvis enheden ikke viser nogen aktivitet. Hvis sessioner holdes åbne på inaktive enheder, vil det kompromittere sikkerheden, hvilket er grunden til, at den aktuelle funktionsmåde gennemtvinges.

Indikator for indbyggede Apache Spark-job

Notebooks i stof er Apache Spark-baserede. Kodeceller udføres eksternt på Apache Spark-klyngen. En Spark-jobstatusindikator leveres med en statuslinje i realtid, der vises for at hjælpe dig med at forstå status for udførelse af job. Antallet af opgaver pr. job eller fase hjælper dig med at identificere det parallelle niveau for dit Spark-job. Du kan også få mere at vide om Spark-brugergrænsefladen for et bestemt job (eller en bestemt fase) ved at vælge linket i navnet på jobbet (eller fasen).

Du kan også finde loggen på celleniveau i realtid ud for statusindikatoren, og Diagnosticering kan give dig nyttige forslag, der kan hjælpe med at finjustere og foretage fejlfinding af koden.

Skærmbillede af detaljer om status for Spark-job.

I Flere handlinger kan du nemt navigere til siden med oplysninger om Spark-programmet og spark-websiden for brugergrænsefladen .

Skærmbillede af detaljer om flere handlinger.

Hemmelig redigering

Fabric-notesbøger understøtter hemmelig redigering for at erstatte de hemmelige værdier, der vises i celleoutput, med [REDACTED]for at forhindre, at legitimationsoplysningerne ved et uheld bliver lækket, når du kører notesbøger. Hemmelig redigering gælder for Python, Scala og R.

Skærmbillede af hemmelig redigering.

Magiske kommandoer i en notesbog

Indbyggede magiske kommandoer

Du kan bruge velkendte Ipython-magiske kommandoer i Fabric-notesbøger. Gennemse følgende liste over tilgængelige magiske kommandoer.

Bemærk

Dette er de eneste magiske kommandoer, der understøttes i Fabric-pipelinen: %%pyspark, %%spark, %%csharp, %%sql, %%konfigurer.

Tilgængelige kommandoer til linjemagi: %lsmagic, %time, %timeit, %history, %run, %load, %alias, %alias_magic, %autoawait, %autocall, %automagic, %bookmark, %cd, %colors, %dhist, %dirs, %doctest_mode, %killbgscripts, %load_ext, %logoff, %logon, %logstart, %logstate, %logstop, %magic, %matplotlib, %page, %pastebin, %pdef, %pfile, %pinfo, %pinfo2, %pprint, %pprint, %precision, %prun, %psearch, %psource, %pushd, %pwd, %pycat, %quickref, % quickref rehashx, %reload_ext, %reset, %reset_selective, %sx, %system, %tb, %unalias, %unload_ext, %who, %who_ls, %who's, %xdel, %xmode.

Notesbogen Fabric understøtter også de forbedrede kommandoer til administration af biblioteker %pip og %conda. Du kan få flere oplysninger om brug i Administrer Apache Spark-biblioteker i Microsoft Fabric.

Tilgængelige kommandoer til cellemagi: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%configure, %%html, %%bash, %%markdown, %%perl, %%script, %%sh.

Brugerdefinerede magiske kommandoer

Du kan også bygge flere brugerdefinerede magiske kommandoer, der opfylder dine specifikke behov. Her er et eksempel:

  1. Opret en notesbog med navnet "MyLakehouseModule".

    Skærmbillede af definer en brugerdefineret magi.

  2. I en anden notesbog skal du referere til "MyLakehouseModule" og dens magiske kommandoer. Denne proces er den måde, hvorpå du nemt kan organisere dit projekt med notesbøger, der bruger forskellige sprog.

    Skærmbillede af brug af brugerdefineret magi.

IPython-widgets

IPython-widgets er hændelsesfulde Python-objekter, der har en repræsentation i browseren. Du kan bruge IPython-widgets som kontrolelementer med lav kode (f.eks. skyder eller tekstfelt) i din notesbog på samme måde som Jupyter-notesbogen. I øjeblikket fungerer det kun i en Python-kontekst.

Sådan bruger du IPython-widgets

  1. Importér modulet ipywidgets først for at bruge jupyterwidgetstrukturen.

    import ipywidgets as widgets
    
  2. Brug visningsfunktionen på øverste niveau til at gengive en widget, eller lad et udtryk for widgettype stå på den sidste linje i kodecellen.

    slider = widgets.IntSlider()
    display(slider)
    
  3. Kør cellen. Widgetten vises i outputområdet.

    slider = widgets.IntSlider()
    display(slider)
    

    Skærmbillede af widget, der vises i outputområdet.

  4. Brug flere display() -kald til at gengive den samme widgetforekomst flere gange. De forbliver synkroniseret med hinanden.

    slider = widgets.IntSlider()
    display(slider)
    display(slider)
    

    Skærmbillede, der viser flere gange af én widget.

  5. Hvis du vil gengive to widgets uafhængigt af hinanden, skal du oprette to widgetforekomster:

    slider1 = widgets.IntSlider()
    slider2 = widgets.IntSlider()
    display(slider1)
    display(slider2)
    

    Skærmbillede, der viser flere forekomster af widgets.

Understøttede widgets

Widgettype Widgets
Numeriske widgets IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText
Booleske widgets Til/fra-knap, afkrydsningsfelt, gyldig
Valgwidgets Rulleliste, RadioButtons, Select, SelectionSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple
Strengwidgets Tekst, tekstområde, kombinationsfelt, adgangskode, etiket, HTML, HTML-matematik, billede, knap
Afspilningswidgets (animation) Datovælger, farvevælger, controller
Objektbeholder- eller layoutwidgets Box, HBox, VBox, GridBox, Accordion, Tabs, Stablet

Kendte begrænsninger

  • Følgende widgets understøttes ikke endnu. Følgende løsninger er tilgængelige:

    Funktionalitet Løsning
    Outputwidget Du kan i stedet bruge funktionen print() til at skrive tekst til stdout.
    widgets.jslink() Du kan bruge funktionen widgets.link() til at sammenkæde to lignende widgets.
    Widgetten FileUpload Understøttes ikke endnu.
  • Den globale Fabric-visningsfunktion understøtter ikke visning af flere widgets i ét kald (f.eks . display(a, b)). Denne funktionsmåde adskiller sig fra IPython-visningsfunktionen.

  • Hvis du lukker en notesbog, der indeholder en IPython-widget, kan du ikke se eller interagere med den, før du udfører den tilsvarende celle igen.

  • Funktionen interact (ipywidgets.interact) understøttes ikke.

Integrer en notesbog

Angiv en parametercelle

Hvis du vil parameterisere din notesbog, skal du vælge ellipsen (...) for at få adgang til kommandoerne Flere på celleværktøjslinjen. Vælg derefter Til/fra-parametercellen for at angive cellen som parametercellen.

Skærmbillede, der viser, hvor du kan vælge indstillingen Slå parametercelle til/fra.

Parametercellen er nyttig til integration af en notesbog i en pipeline. Pipelineaktivitet søger efter parametercellen og behandler denne celle som standard for de parametre, der overføres på udførelsestidspunktet. Kørselsprogrammet tilføjer en ny celle under parametercellen med inputparametre for at overskrive standardværdierne.

Tildel parameterværdier fra en pipeline

Når du har oprettet en notesbog med parametre, kan du udføre den fra en pipeline med aktiviteten for Fabric-notesbogen. Når du har føjet aktiviteten til pipelinelærredet, kan du angive parameterværdierne under afsnittet Basisparametre under fanen Indstillinger .

Skærmbillede, der viser, hvor du kan tildele parameterværdier fra en pipeline.

Når du tildeler parameterværdier, kan du bruge pipelineudtrykkets sprog eller funktioner og variabler.

Notebook-parametre understøtter enkle typer som int, float, bool, og string. Komplekse typer som f.eks list . og dict understøttes endnu ikke. Hvis du vil overføre en kompleks type, kan du overveje at serialisere den til et strengformat (f.eks. JSON) og derefter deserialisere den i notesbogen. I følgende eksempel vises, hvordan du overfører en JSON-streng fra pipeline til notesbog og deserialiserer den:

Skærmbillede, der viser, hvordan du overfører json-streng fra en pipeline.

Følgende python-kode viser, hvordan du deserialiserer JSON-strengen til en Python-ordbog:

import json

# Deserialize the JSON string into a Python dictionary
params = json.loads(json_string)

# Access the individual parameters
param1 = params.get("param1")
param2 = params.get("param2")

Sørg for, at parameternavnet i parameterkodecellen stemmer overens med parameternavnet i pipelinen.

Magisk kommando til konfiguration af Spark-session

Du kan tilpasse din Spark-session med den magiske kommando %%configure. Fabric-notesbogen understøtter brugerdefinerede vCores, Hukommelse for driveren og executoren, Apache Spark-egenskaber, monteringspunkter, pool og standard lakehouse for notesbogsessionen. De kan bruges i både interaktive aktiviteter for notesbøger og pipelinenotesbøger. Vi anbefaler, at du kører kommandoen %%configure i starten af notesbogen, eller at du skal genstarte Spark-sessionen for at få indstillingerne til at træde i kraft.

%%configure
{
    // You can get a list of valid parameters to config the session from https://github.com/cloudera/livy#request-body.
    "driverMemory": "28g", // Recommended values: ["28g", "56g", "112g", "224g", "400g"]
    "driverCores": 4, // Recommended values: [4, 8, 16, 32, 64]
    "executorMemory": "28g",
    "executorCores": 4,
    "jars": ["abfs[s]: //<file_system>@<account_name>.dfs.core.windows.net/<path>/myjar.jar", "wasb[s]: //<containername>@<accountname>.blob.core.windows.net/<path>/myjar1.jar"],
    "conf":
    {
        // Example of customized property, you can specify count of lines that Spark SQL returns by configuring "livy.rsc.sql.num-rows".
        "livy.rsc.sql.num-rows": "3000",
        "spark.log.level": "ALL"
    },
    "defaultLakehouse": {  // This overwrites the default lakehouse for current session
        "name": "<lakehouse-name>",
        "id": "<(optional) lakehouse-id>",
        "workspaceId": "<(optional) workspace-id-that-contains-the-lakehouse>" // Add workspace ID if it's from another workspace
    },
    "mountPoints": [
        {
            "mountPoint": "/myMountPoint",
            "source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>"
        },
        {
            "mountPoint": "/myMountPoint1",
            "source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path1>"
        },
    ],
    "environment": {
        "id": "<environment-id>",
        "name": "<environment-name>"
    },
    "sessionTimeoutInSeconds": 1200,
    "useStarterPool": false,  // Set to true to force using starter pool
    "useWorkspacePool": "<workspace-pool-name>"
}

Bemærk

  • Vi anbefaler, at du angiver den samme værdi for "DriverMemory" og "ExecutorMemory" i %%configure. Værdierne "driverCores" og "executorCores" skal også være de samme.
  • "defaultLakehouse" overskriver dit fastgjorte lakehouse i Lakehouse Explorer, men det fungerer kun i din aktuelle notesbogsession.
  • Du kan bruge %%configure i Fabric-pipelines, men hvis den ikke er angivet i den første kodecelle, mislykkes pipelinekørslen, fordi sessionen ikke kan genstartes.
  • Den %%configure, der bruges i notebookutils.notebook.run, ignoreres, men bruges i %run notebook fortsætter med at udføres.
  • Standardegenskaberne for Spark-konfigurationen skal bruges i brødteksten "conf". Fabric understøtter ikke reference på første niveau for Spark-konfigurationsegenskaberne.
  • Nogle særlige Spark-egenskaber, herunder "spark.driver.cores", "spark.executor.cores", "spark.driver.memory", "spark.executor.memory" og "spark.executor.instances" træder ikke i kraft i "conf"-brødteksten.

Du kan også bruge %%configure en magisk kommando til dynamisk at indsætte konfigurationsværdier fra variabelbiblioteket i din notesbog.

%%configure
{
  "defaultLakehouse": {
    "name": {
      "variableName": "$(/**/myVL/LHname)" 
    },
    "id": {
      "variableName": "$(/**/myVL/LHid)"
    },
    "workspaceId": {
      "variableName": "$(/**/myVL/WorkspaceId)"
    }
  }
}

I dette eksempel:

  • myVL er navnet på variabelbiblioteket.
  • LHname, LHid, og WorkspaceId er variable nøgler defineret i biblioteket.
  • Alle variabler bør defineres som String-type i variabelbiblioteket, selv for GUID-værdier.
  • Det workspaceId er nødvendigt, når lakehouset er i et andet arbejdsområde end den nuværende notesbog.
  • Disse værdier fortolkes under kørsel afhængigt af det aktive miljø (f.eks. Udvikling, Test, Prod).

Dette giver dig mulighed for at skifte konfigurationer som f.eks. standard lakehouse uden at ændre din notesbogkode.

Konfiguration af en parameteriseret session fra en pipeline

Konfiguration af parameteriseret session giver dig mulighed for at erstatte værdien i %%configure magic med aktivitetsparametrene for pipelinekørslen af notesbogen. Når du forbereder %%konfigurer kodecelle, kan du tilsidesætte standardværdier (også konfigurerbare, 4 og "2000" i nedenstående eksempel) med et objekt som dette:

{
      "parameterName": "paramterNameInPipelineNotebookActivity",
      "defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
} 
%%configure  

{ 
    "driverCores": 
    { 
        "parameterName": "driverCoresFromNotebookActivity", 
        "defaultValue": 4 
    }, 
    "conf": 
    { 
        "livy.rsc.sql.num-rows": 
        { 
            "parameterName": "rows", 
            "defaultValue": "2000" 
        } 
    } 
} 

En notesbog bruger standardværdien, hvis du kører en notesbog direkte i interaktiv tilstand, eller hvis aktiviteten for pipelinenotesbogen ikke giver nogen parameter, der svarer til "activityParameterName".

Under en pipelinekørsel kan du konfigurere aktivitetsindstillinger for pipelinenotesbogen på følgende måde:

Skærmbillede, der viser, hvor du kan konfigurere en parameteriseret session.

Hvis du vil ændre sessionskonfigurationen, skal navnet på aktivitetsparametrene for pipelinenotesbogen være det samme som parameterName i notesbogen. I dette eksempel på kørsel af en pipeline driverCores erstattes konfigurer i %%af 8 og livy.rsc.sql.num-rows erstattes af 4000.

Bemærk

  • Hvis en pipelinekørsel mislykkes, fordi du har brugt kommandoen %%configure magic, kan du finde flere fejloplysninger ved at køre den magiske celle %%configure i notesbogens interaktive tilstand.
  • Planlagte kørsler af notesbøger understøtter ikke konfiguration af session med parametre.

Python-logføring i en notesbog

Du kan finde Python-logge og angive forskellige logniveauer og -format som den eksempelkode, der vises her:

import logging

# Customize the logging format for all loggers
FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
formatter = logging.Formatter(fmt=FORMAT)
for handler in logging.getLogger().handlers:
    handler.setFormatter(formatter)

# Customize log level for all loggers
logging.getLogger().setLevel(logging.INFO)

# Customize the log level for a specific logger
customizedLogger = logging.getLogger('customized')
customizedLogger.setLevel(logging.WARNING)

# logger that use the default global log level
defaultLogger = logging.getLogger('default')
defaultLogger.debug("default debug message")
defaultLogger.info("default info message")
defaultLogger.warning("default warning message")
defaultLogger.error("default error message")
defaultLogger.critical("default critical message")

# logger that use the customized log level
customizedLogger.debug("customized debug message")
customizedLogger.info("customized info message")
customizedLogger.warning("customized warning message")
customizedLogger.error("customized error message")
customizedLogger.critical("customized critical message")

Få vist oversigten over inputkommandoer

Fabric-notesbogen understøtter magisk kommando %history til at udskrive inputkommandohistorikken, der blev udført i den aktuelle session, sammenlignet med den almindelige Jupyter Ipython-kommando, der %history fungerer for flere sprogkontekst i notesbogen.

%history [-n] [range [range ...]]

For indstillinger:

  • -n: Udskriv udførelsesnummer.

Hvor området kan være:

  • N: Udskriftskode for Nth udført celle.
  • M-N: Udskriftskode fra Mth til Nth udført celle.

Eksempel:

  • Udskriv inputhistorik fra 1. til 2. udførte celle: %history -n 1-2

Genvejstaster

På samme måde som jupyternotesbøger har Fabric-notesbøger en modal brugergrænseflade. Tastaturet gør forskellige ting, afhængigt af hvilken tilstand notesbogcellen er i. Fabric-notesbøger understøtter følgende to tilstande for en given kodecelle: Kommandotilstand og Redigeringstilstand.

  • En celle er i kommandotilstand, når der ikke er nogen tekstmarkør, der beder dig om at skrive. Når en celle er i kommandotilstand, kan du redigere notesbogen som helhed, men ikke skrive i individuelle celler. Angiv kommandotilstand ved at trykke på ESC eller ved at bruge musen til at markere uden for en celles editorområde.

    Skærmbillede af en celle i kommandotilstand.

  • Redigeringstilstand kan angives fra en tekstmarkør, der beder dig om at skrive i editorområdet. Når en celle er i redigeringstilstand, kan du skrive i cellen. Angiv redigeringstilstand ved at trykke på Enter eller ved at bruge musen til at markere en celles editorområde.

    Skærmbillede af en celle i redigeringstilstand.

Genvejstaster i kommandotilstand

Handling Genveje til notesbog
Kør den aktuelle celle, og markér nedenfor Skift+Enter
Kør den aktuelle celle, og indsæt under Alt+Enter
Kør aktuel celle Ctrl+Enter
Markér celle over Op
Markér celle under Ned
Markér forrige celle K
Markér næste celle J
Indsæt celle over En
Indsæt celle under F
Slet markerede celler D,D
Skift til redigeringstilstand Indsæt

Genvejstaster i redigeringstilstand

Ved hjælp af følgende tastetryksgenveje kan du nemt navigere og køre kode i Fabric-notesbøger i redigeringstilstand.

Handling Genveje til notesbog
Flyt markøren op Op
Flyt markøren ned Ned
Fortryd Ctrl + Z
Annuller fortryd Ctrl + Y
Kommentar eller fjernelse Ctrl + /
Kommentar: Ctrl + K + C
Fjern kommentar: Ctrl + K + U
Slet ord før Ctrl + Tilbage
Slet ord efter Ctrl + Slet
Gå til cellestart Ctrl + Startside
Gå til celleafslutning Ctrl + slut
Gå ét ord til venstre Ctrl + venstre
Gå et ord til højre Ctrl + højre
Vælg alt Ctrl + A
Indrykke Ctrl + ]
Ryk ud Ctrl + [
Skift til kommandotilstand Esc

Hvis du vil finde alle genvejstaster, skal du vælge Vis på båndet i notesbogen og derefter vælge Nøglebindinger.