Utveckla, köra och hantera Microsoft Fabric-notebook-filer

Microsoft Fabric Notebook är ett primärt kodobjekt för utveckling av Apache Spark-jobb och maskininlärningsexperiment. Det är en webbaserad interaktiv yta som används av dataexperter och datatekniker för att skriva kod som drar nytta av omfattande visualiseringar och Markdown-text. Den här artikeln beskriver hur du utvecklar notebook-filer med kodcellsåtgärder och kör dem.

Viktigt

Microsoft Fabric är en förhandsversion.

Utveckla notebook-filer

Notebook-filer består av celler, som är enskilda kodblock eller textblock som kan köras oberoende av varandra eller som en grupp.

Vi tillhandahåller omfattande åtgärder för att utveckla notebook-filer:

Lägga till en cell

Det finns flera sätt att lägga till en ny cell i anteckningsboken.

  1. Hovra över utrymmet mellan två celler och välj Kod eller Markdown.

  2. Använd genvägsnycklar i kommandoläge. Tryck på A för att infoga en cell ovanför den aktuella cellen. Tryck på B för att infoga en cell under den aktuella cellen.

Ange ett primärt språk

Microsoft Fabric Notebooks stöder för närvarande fyra Apache Spark-språk:

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

Du kan ange primärt språk för nya tillagda celler från listrutan i det översta kommandofältet.

Använda flera språk

Du kan använda flera språk i en anteckningsbok genom att ange kommandot language magic i början av en cell. Du kan också växla cellspråket från språkväljaren. I följande tabell visas de magiska kommandona för att växla cellspråk.

Skärmbild som visar ett exempel på det språkmagikommando som angavs i början av en cell.

Magiskt kommando Språk Beskrivning
%%pyspark Python Kör en Python-fråga mot Spark-kontext.
%%spark Scala Kör en Scala-fråga mot Spark-kontext.
%%sql SparkSQL Kör en SparkSQL-fråga mot Spark-kontext.
%%html Html Kör en HTML-fråga mot Spark-kontext.
%%sparkr R Kör en R-fråga mot Spark-kontext.

Följande bild är ett exempel på hur du kan skriva en PySpark-fråga med hjälp av kommandot %%pyspark magic i en Spark(Scala) -anteckningsbok. Observera att anteckningsbokens primära språk är inställt på PySpark.

IntelliSense i IDE-stil

Microsoft Fabric-notebook-filer är integrerade med Monaco-redigeraren för att få IDE-stil IntelliSense till cellredigeraren. Syntaxmarkering, felmarkör och automatiska kodslut hjälper dig att skriva kod och identifiera problem snabbare.

IntelliSense-funktionerna har olika mognadsnivåer för olika språk. Följande tabell visar vad som stöds:

Språk Syntaxmarkering Syntaxfelmarkör Syntaxkod har slutförts Slutförande av variabelkod Kodkomplettering av systemfunktion Kod för användarfunktion har slutförts Smarta indrag Koddelegering
PySpark (Python) Ja Ja Ja Ja Ja Ja Ja Ja
Spark (Scala) Ja Ja Ja Ja Ja Ja Ja Ja
SparkSQL Ja Ja Ja Ja Ja Nej Ja Ja
SparkR Ja Ja Ja Ja Ja Ja Ja Ja

Anteckning

En aktiv Spark-session krävs för att använda IntelliSense-koden.

Kodfragment

Microsoft Fabric-notebook-filer innehåller kodfragment som hjälper dig att skriva vanliga kodmönster enkelt, till exempel:

  • Läsa data som en Spark DataFrame, eller
  • Rita diagram med Matplotlib.

Kodfragment visas i Genvägsnycklar av IDE-format IntelliSense blandat med andra förslag. Kodfragmentinnehållet överensstämmer med kodcellsspråket. Du kan se tillgängliga kodfragment genom att skriva kodfragment eller nyckelord som visas i kodfragmentrubriken i kodcellsredigeraren. Genom att till exempel skriva läsa kan du se listan med kodfragment för att läsa data från olika datakällor.

Animerad GIF med kodfragment.

Dra och släpp för att infoga kodfragment

Du kan enkelt använda dra och släpp för att läsa data från Lakehouse Explorer. Flera filtyper stöds här. Du kan arbeta med textfiler, tabeller, bilder osv. Du kan antingen släppa till en befintlig cell eller till en ny cell. Notebook-filen genererar kodfragmentet för att förhandsgranska data.

Animerad GIF av dra och släpp för att infoga kodfragment.

Dra och släpp för att infoga bilder

Du kan enkelt använda dra och släpp för att infoga bilder från webbläsaren eller den lokala datorn till en markdown-cell.

Animerad GIF av dra och släpp för att infoga bilder.

Formatera textcell med knappar i verktygsfältet

Du kan använda formatknapparna i verktygsfältet för textceller för att utföra vanliga markdown-åtgärder.

Skärmbild av verktygsfältet för textformatering.

Ångra eller göra om cellåtgärd

Välj knappen Ångra eller Gör om eller tryck på Z eller Skift+Z för att återkalla de senaste cellåtgärderna. Du kan ångra eller göra om upp till de senaste 10 historiska cellåtgärderna.

Skärmbild som visar menyalternativen Ångra och Gör om.

Stöd för att ångra cellåtgärder:

  • Infoga eller ta bort cell: Du kan återkalla borttagningsåtgärderna genom att välja Ångra. Textinnehållet sparas tillsammans med cellen.
  • Ändra ordning på cellen.
  • Växla parameter.
  • Konvertera mellan kodcell och Markdown-cell.

Anteckning

Det går inte att ångra textåtgärder i cellen och kodcellskommenterande åtgärder. Du kan ångra eller göra om upp till de senaste 10 historiska cellåtgärderna.

Flytta en cell

Du kan dra från den tomma delen av en cell och släppa den till önskad position.

Du kan också flytta den markerade cellen med Flytta upp och Flytta ned i menyfliksområdet.

Skärmbild som visar alternativen för att flytta en cell.

Ta bort en cell

Om du vill ta bort en cell väljer du knappen Ta bort till höger i cellen.

Du kan också använda kortkommandon i kommandoläge. Tryck på Skift+D för att ta bort den aktuella cellen.

Dölj cellindata

Välj ellipserna Fler kommandon (...) i cellverktygsfältet och Dölj indata för att dölja den aktuella cellens indata. Om du vill expandera den väljer du Visa indata medan cellen är komprimerad.

Dölj utdata från en cell

Välj ellipserna Fler kommandon (...) i cellverktygsfältet och Dölj utdata om du vill dölja den aktuella cellens utdata. Om du vill expandera den väljer du Visa utdata medan cellens utdata är dolda.

Låsa eller låsa en cell

Genom att låsa och låsa cellåtgärder kan du göra celler skrivskyddade eller hindra kodceller från att köras på enskilda cellbasis.

Animerad GIF av lås eller lås en cell.

Anteckningsbokens innehåll

Dispositioner eller innehållsförteckning visar den första markdownrubriken i en markdowncell i ett sidofältsfönster för snabb navigering. Sidopanelen Dispositioner är storleksanpassad och komprimerbar så att den passar skärmen på bästa möjliga sätt. Du kan välja knappen Innehåll i anteckningsbokens kommandofält för att öppna eller dölja sidopanelen.

Skärmbild som visar var du väljer alternativet Innehåll.

Markdown-vikning

Med markdown-vikningen kan du dölja celler under en markdowncell som innehåller en rubrik. Markdown-cellen och dess dolda celler behandlas på samma sätt som en uppsättning sammanhängande flervalsceller när cellåtgärder utförs. Animerad GIF av markdown-vikning.

Sök och ersätt

Hitta och ersätt kan hjälpa dig att enkelt matcha och hitta nyckelorden eller uttrycket i anteckningsbokens innehåll, och du kan ersätta målsträngen med en ny sträng.

Skärmbild som visar fönstret Sök och ersätt.

Köra notebook-filer

Du kan köra kodcellerna i anteckningsboken individuellt eller på en gång. Status och förlopp för varje cell visas i notebook-filen.

Köra en cell

Det finns flera sätt att köra koden i en cell.

  1. Hovra över cellen som du vill köra och välj knappen Kör cell eller tryck på Ctrl+Retur.

  2. Använd kortkommandon i kommandoläge. Tryck på Skift+Retur för att köra den aktuella cellen och markera nästa cell. Tryck på Alt+Retur för att köra den aktuella cellen och infoga en ny cell.

Kör alla celler

Välj knappen Kör alla för att köra alla celler i den aktuella notebook-filen i följd.

Kör alla celler ovanför eller under

Expandera listrutan från knappen Kör alla och välj sedan Kör celler ovan för att köra alla celler ovanför den aktuella i följd. Välj Kör celler nedan för att köra den aktuella cellen och alla celler under strömmen i följd.

Skärmbild som visar menyalternativen Kör alla.

Avbryt alla celler som körs

Välj knappen Avbryt alla för att avbryta de celler som körs i kön.

Stoppa session

Stoppa sessionen avbryter cellerna som körs och väntar och stoppar den aktuella sessionen. Du kan starta om en helt ny session om du klickar på körningsknappen igen.

Skärmbild som visar var du väljer Avbryt alla körningar och stoppar en session.

Referenskörning för notebook-fil

Förutom att använda referenskörnings-API:et för mssparkutils kan du också använda %run <notebook name> magiskt kommando för att referera till en annan notebook-fil i den aktuella notebook-filens kontext. Alla variabler som definierats i referensanteckningsboken är tillgängliga i den aktuella notebook-filen. %run magiskt kommando stöder kapslade anrop men stöder inte rekursiva anrop. Du får ett undantag om instruktionsdjupet är större än fem.

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

Notebook-referensen fungerar i både interaktivt läge och pipeline.

Anteckning

  • %run kommandot stöder för närvarande endast referensanteckningsböcker som finns på samma arbetsyta med den aktuella anteckningsboken.
  • %run kommandot stöder för närvarande endast 4 parametervärdetyper: int, float, bool, string, variabel ersättningsåtgärd stöds inte.
  • %run -kommandot stöder inte kapslad referens att djupet är större än fem.

Variabelutforskaren

Microsoft Fabric Notebook tillhandahåller en inbyggd utforskare för variabler där du kan se listan med variablernas namn, typ, längd och värde i den aktuella Spark-sessionen för PySpark-celler (Python). Fler variabler visas automatiskt när de definieras i kodcellerna. Om du klickar på varje kolumnrubrik sorteras variablerna i tabellen.

Du kan välja knappen Variabler på menyfliksområdet "Visa" i anteckningsboken för att öppna eller dölja variabelutforskaren.

Skärmbild som visar var variabler ska öppnas.

Anteckning

Variabelutforskaren stöder endast Python.

Indikator för cellstatus

En steg-för-steg-cellkörningsstatus visas under cellen för att hjälpa dig att se dess aktuella förlopp. När cellkörningen är klar visas en körningssammanfattning med den totala varaktigheten och sluttiden och lagras där för framtida referens.

Skärmbild som visar ett exempel på statusinformation för cellkörning.

Indikator för infogat spark-jobb

Microsoft Fabric-anteckningsboken är Spark-baserad. Kodceller körs på spark-klustret via fjärranslutning. En förloppsindikator för Spark-jobb tillhandahålls med en förloppsindikator i realtid som hjälper dig att förstå jobbets körningsstatus. Antalet uppgifter per jobb eller steg hjälper dig att identifiera den parallella nivån för spark-jobbet. Du kan också öka detaljnivån för Spark-användargränssnittet för ett visst jobb (eller steg) genom att välja länken för jobbets (eller stadiets) namn.

Du hittar också realtidsloggen på cellnivå bredvid förloppsindikatorn, och Diagnostik kan ge dig användbara förslag för att förfina och felsöka koden.

Skärmbild av information om Förloppet för Spark-jobb.

I Fler åtgärder kan du enkelt navigera till sidan med Spark-programinformation och spark-webbgränssnittssidan . Skärmbild av information om fler åtgärder.

Hemlig bortredigering

För att förhindra att autentiseringsuppgifterna av misstag läcker ut när notebook-filer körs stöder Fabric-notebook-filen hemlig redigering för att ersätta de hemliga värden som visas i cellutdata med [REDACTED], Hemlig redigering gäller för Python, Scala och R.

Skärmbild av hemlig redigering.

Magiska kommandon i notebook-filen

Inbyggda magi

Du kan använda välbekanta magiska Ipython-kommandon i Fabric Notebooks. Granska följande lista som de aktuella tillgängliga magiska kommandona.

Anteckning

Endast följande magiska kommandon stöds i Fabric-pipelinen: %%pyspark, %%spark, %%csharp, %%sql.

Tillgängliga 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, %popd, %pprint, %precision, %prun, %psearch, %psource, %pushd, %pwd, %pycat, %quickref, %rehashx, %reload_ext, %reset, %reset_selective, %sx, %system, %tb, %unalias, %unload_ext, %who, %who_ls, %who's, %xdel, %xmode.

Notebook-filen Fabric har också stöd för förbättrade bibliotekshanteringskommandon %pip, %conda, i Hantera Apache Spark-bibliotek i Microsoft Fabric för användning.

Tillgängliga cellmagi: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%html, %%bash, %%markdown, %%perl, %%script, %%sh.

Anpassad magi

Du kan också skapa fler anpassade magiska kommandon för att uppfylla dina specifika behov, vilket visas i exemplet nedan.

  1. Skapa en anteckningsbok med namnet "MyLakehouseModule".

Skärmbild av definiera en anpassad magi.

  1. I en annan notebook-fil refererar du till "MyLakehouseModule" och dess magiska kommandon. På så sätt kan du ordna projektet med notebook-filer som använder olika språk bekvämt.

Skärmbild av användning av anpassad magi.

IPython-widgetar

IPython Widgets är händelsekänsliga Python-objekt som har en representation i webbläsaren. Du kan använda IPython Widgets som kontroller med låg kod (till exempel skjutreglage, textruta) i anteckningsboken precis som Jupyter Notebook, för närvarande fungerar den bara i Python-kontext.

Så här använder du IPython Widget

  1. Du måste importera ipywidgets-modulen först för att använda Jupyter Widget-ramverket.

    import ipywidgets as widgets
    
  2. Du kan använda visningsfunktionen på den översta nivån för att återge en widget eller lämna ett uttryck av widgettyp på den sista raden i kodcellen.

    slider = widgets.IntSlider()
    display(slider)
    
  3. Kör cellen, widgeten visas i utdataområdet.

    slider = widgets.IntSlider()
    display(slider)
    

    Skärmbild av widgeten som visas i utdataområdet.

  4. Du kan använda flera display() -anrop för att återge samma widgetinstans flera gånger, men de förblir synkroniserade med varandra.

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

    Skärmbild som visar flera gånger av en widget.

  5. Om du vill återge två widgetar oberoende av varandra skapar du två widgetinstanser:

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

    Skärmbild som visar flera instanser av widgetar.

Widgetar som stöds

Typ av widgetar Widgetar
Numeriska widgetar IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText
Booleska widgetar ToggleButton, Checkbox, Valid
Markeringswidgetar Listruta, RadioButtons, Select, SelectionSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple
Strängwidgetar Text, Textområde, Kombinationsruta, Lösenord, Etikett, HTML, HTML Math, Bild, Knapp
Spela upp (animering) widgetar Datumväljare, Färgväljare, Styrenhet
Widgetar för container eller layout Box, HBox, VBox, GridBox, Dragspel, Flikar, Staplad

Kända begränsningar

  1. Följande widgetar stöds inte än. Du kan följa motsvarande lösning på följande sätt:

    Funktioner Lösning
    Utdatawidget Du kan använda funktionen print() i stället för att skriva text till stdout.
    widgets.jslink() Du kan använda funktionen widgets.link() för att länka två liknande widgetar.
    FileUpload-widget Stöds inte ännu.
  2. Den globala visningsfunktionen som tillhandahålls av Microsoft Fabric stöder inte visning av flera widgetar i ett anrop (dvs. display(a, b)), vilket skiljer sig från IPython-visningsfunktionen.

  3. Om du stänger en notebook-fil som innehåller IPython Widget kan du inte se eller interagera med den förrän du kör motsvarande cell igen.

Python-loggning i notebook-fil

Du hittar Python-loggar och anger olika loggnivåer och format som exempelkoden som visas här:

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")

Integrera en notebook-fil

Ange en parametercell

Om du vill parametrisera anteckningsboken väljer du ellipserna (...) för att få åtkomst till fler kommandon i cellverktygsfältet . Välj sedan Växla parametercell för att ange cellen som parametercell.

Skärmbild som visar var du väljer alternativet Växla parametercell.

Parametercellen är användbar för att integrera notebook-filen i pipelinen, pipelineaktiviteten söker efter parametercellen och behandlar den här cellen som standardvärden för parametrarna som skickades vid körningstillfället. Körningsmotorn lägger till en ny cell under parametercellen med indataparametrar för att skriva över standardvärdena.

Kortkommandon

Precis som Jupyter Notebooks har Microsoft Fabric Notebooks ett användargränssnitt. Tangentbordet gör olika saker beroende på vilket läge notebook-cellen befinner sig i. Microsoft Fabric-notebook-filer stöder följande två lägen för en viss kodcell: kommandoläge och redigeringsläge.

  1. En cell är i kommandoläge när det inte finns någon textmarkör som uppmanar dig att skriva. När en cell är i kommandoläge kan du redigera anteckningsboken som helhet, men inte skriva in den i enskilda celler. Gå till kommandoläge genom att trycka på ESC eller använda musen för att markera utanför en cells redigeringsområde.

    Skärmbild av en cell i kommandoläge.

  2. Redigeringsläget kan anges från en textmarkör som uppmanar dig att skriva i redigeringsområdet. När en cell är i redigeringsläge kan du skriva in i cellen. Gå till redigeringsläget genom att trycka på Retur eller använda musen för att markera i en cells redigeringsområde.

    Skärmbild av en cell i redigeringsläge.

Kortkommandon i kommandoläge

Åtgärd Genvägar till notebook-filer
Kör den aktuella cellen och välj nedan Skift+Retur
Kör den aktuella cellen och infoga nedan Alt+Retur
Kör aktuell cell Ctrl+Retur
Markera cellen ovan Upp
Markera cellen nedan Ned
Markera föregående cell K
Markera nästa cell J
Infoga cell ovanför A
Infoga cellen nedan B
Ta bort markerade celler Skift + D
Växla till redigeringsläge Ange

Kortkommandon under redigeringsläge

Med hjälp av följande genvägar för tangenttryckning kan du enklare navigera och köra kod i Microsoft Fabric Notebooks när du är i redigeringsläge.

Åtgärd Genvägar till notebook-filer
Flytta markören uppåt Upp
Flytta markören nedåt Ned
Ångra Ctrl + Z
Gör om Ctrl + Y
Kommentar eller avkommentering Ctrl + /
Ta bort ord före Ctrl + backsteg
Ta bort ord efter Ctrl + Ta bort
Gå till cellstart Ctrl + Start
Gå till celländen Ctrl + slut
Gå ett ord till vänster Ctrl + vänster
Gå ett ord åt höger Ctrl + höger
Välj alla Ctrl + A
Strecksatsen Ctrl + ]
Dedent Ctrl + [
Växla till kommandoläge Esc

Du kan enkelt hitta alla kortkommandon från menyfliksområdet För notebook-filer Visa ->Nyckelbindningar.

Nästa steg