Dela via


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

En Microsoft Fabric-notebook-fil är ett primärt kodobjekt för att utveckla Apache Spark-jobb och maskininlärningsexperiment. Det är en webbaserad interaktiv yta som används av dataforskare 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.

Utveckla notebook-filer

Notebook-filer består av celler, som är enskilda kod- 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

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 notebook-fil 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 Apache Spark-kontext.
%%spark Scala Kör en Scala-fråga mot Apache Spark-kontext.
%%sql SparkSQL Kör en SparkSQL-fråga mot Apache Spark-kontext.
%%html Html Kör en HTML-fråga mot Apache Spark-kontext.
%%sparkr R Kör en R-fråga mot Apache Spark-kontext.

IntelliSense i IDE-stil

Fabric Notebooks är integrerade med Monaco-redigeraren för att ta IDE-stil IntelliSense till cellredigeraren. Syntaxmarkering, felmarkör och automatiska kodkompletteringar hjälper dig att snabbt skriva kod och identifiera problem.

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

Språk Syntaxmarkering Syntaxfelmarkör Slutförande av syntaxkod Slutförande av variabelkod Systemfunktionens kod har slutförts Kodkomplettering av användarfunktion Smart 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 No Ja Ja
SparkR Ja Ja Ja Ja Ja Ja Ja Ja

Kommentar

Du måste ha en aktiv Apache Spark-session för att kunna använda IntelliSense-kod.

Kodfragment

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

  • Läsa data som en Apache Spark-dataram
  • 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. Du kan också skriva valfritt nyckelord för att se en lista över relevanta kodfragment. Om du till exempel skriver läsa visas 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

Använd dra och släpp för att läsa data från Lakehouse Explorer på ett bekvämt sätt. Flera filtyper stöds här. du kan använda 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 med dra och släpp för att infoga kodfragment.

Dra och släpp för att infoga bilder

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

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

Formatera textcell med verktygsfältsknappar

Om du vill slutföra vanliga markdown-åtgärder använder du formatknapparna i verktygsfältet i textcellen.

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

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

Välj Å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 10 av de senaste historiska cellåtgärderna.

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

Stöd för å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.

Kommentar

Textåtgärder i cellen och kodcellskommenterande åtgärder kan inte ångras. Du kan ångra eller göra om upp till 10 av de senaste 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 genvägsnycklar i kommandoläge. Tryck på Skift+D för att ta bort den aktuella cellen.

Dölj en cellinmatning

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 igen väljer du Visa indata när cellen är komprimerad.

Dölj en cellutdata

Välj ellipserna Fler kommandon (...) i cellverktygsfältet och Dölj utdata för att dölja den aktuella cellens utdata. Om du vill expandera den igen väljer du Visa utdata när cellutdata döljs.

Säkerhet för cellutdata

Med hjälp av OneLake-dataåtkomstroller (förhandsversion) kan användare konfigurera åtkomst till endast specifika mappar i ett lakehouse under notebook-frågor. Användare utan åtkomst till en mapp eller tabell får ett otillåtet fel under frågekörningen.

Viktigt!

Säkerhet gäller endast vid frågekörning och alla notebook-celler som innehåller frågeresultat kan visas av användare som inte har behörighet att köra frågor mot data direkt.

Låsa eller låsa en cell

Med åtgärderna lås och lås cell kan du göra celler skrivskyddade eller hindra att kodceller körs individuellt.

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

Sammanfoga och dela celler

Du kan använda Sammanfogning med föregående cell eller Sammanfoga med nästa cell för att sammanfoga relaterade celler på ett bekvämt sätt.

Om du väljer Dela cell kan du dela upp irrelevanta instruktioner till flera celler. Åtgärden delar upp koden enligt markörens radposition.

Skärmbild som visar posten för sammanfogade delade celler.

Notebook-innehåll

Om du väljer Dispositioner eller Innehållsförteckning visas den första markdown-rubriken i en markdown-cell i ett sidofältsfönster för snabb navigering. Sidopanelen Dispositioner är storleksanpassad och komprimerbar för att passa skärmen på bästa möjliga sätt. Välj knappen Innehåll i anteckningsbokens kommandofält för att öppna eller dölja sidofältet.

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

Markdown-vikning

Med vikningsalternativet markdown kan du dölja celler under en markdown-cell 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.

Hitta och ersätt

Alternativet sök och ersätt kan hjälpa dig att matcha och hitta nyckelorden eller uttrycket i notebook-innehållet. Du kan också enkelt 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.

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

  • Använd genvägsnycklar 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 Kör alla och välj sedan Kör celler ovan för att köra alla celler ovanför den aktuella i sekvensen. 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 Avbryt alla om du vill 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 genom att välja körningsalternativet igen.

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

Referenskörning

Referenskör en notebook-fil

Förutom referenskörnings-API:et för mssparkutils kan du också använda det %run <notebook name> magiska kommandot för att referera till en annan notebook-fil i den aktuella notebook-kontexten. Alla variabler som definierats i referensanteckningsboken är tillgängliga i den aktuella notebook-filen. Det %run magiska kommandot 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.

Kommentar

  • Kommandot %run stöder för närvarande endast referensanteckningsböcker på samma arbetsyta med den aktuella notebook-filen.
  • Kommandot %run stöder för närvarande endast upp till fyra parametervärdetyper: int, float, booloch string. Variabel ersättningsåtgärd stöds inte.
  • Kommandot %run stöder inte kapslad referens med ett djup som är större än fem.

Referenskör ett skript

Med %run kommandot kan du också köra Python- eller SQL-filer som lagras i notebook-filens inbyggda resurser, så att du enkelt kan köra källkodsfilerna i notebook-filen.

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

För alternativ:

  • -b/--builtin: Det här alternativet anger att kommandot hittar och kör den angivna skriptfilen från notebook-filens inbyggda resurser.
  • -c/--current: Det här alternativet säkerställer att kommandot alltid använder den aktuella notebook-filens inbyggda resurser, även om den aktuella notebook-filen refereras av andra notebook-filer.

Exempel:

  • Så här kör du script_file.py från de inbyggda resurserna: %run -b script_file.py

  • Så här kör du script_file.sql från de inbyggda resurserna: %run -b script_file.sql

  • Så här kör du script_file.py från de inbyggda resurserna med specifika variabler: %run -b script_file.py { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }

Kommentar

Om kommandot inte innehåller -b/-builtin försöker det hitta och köra notebook-objekt på samma arbetsyta i stället för de inbyggda resurserna.

Användningsexempel för kapslat körningsfall:

  • Anta att vi har två anteckningsböcker.
    • Notebook1: Innehåller script_file1.py i de inbyggda resurserna
    • Notebook2: Innehåller script_file2.py i sina inbyggda resurser
  • Nu ska vi använda Notebook1 som en rotanteckningsbok med innehållet: %run Notebook2.
  • I Notebook2 är användningsinstruktionen:
    • Om du vill köra script_file1.py i Notebook1 (rotanteckningsboken) skulle koden vara: %run -b script_file1.py
    • Om du vill köra script_file2.py i Notebook2 (den aktuella notebook-filen) skulle koden vara: %run -b -c script_file2.py

Variabelutforskaren

Notebook-filer för infrastrukturresurser tillhandahåller en inbyggd utforskare för variabler som visar listan över 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.

Om du vill öppna eller dölja variabelutforskaren väljer du Variabler i menyfliksområdet För notebook-filer.

Skärmbild som visar var variabler ska öppnas.

Kommentar

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.

Infogad Apache Spark-jobbindikator

Notebook-filen Fabric är Apache Spark-baserad. Kodceller körs på Apache Spark-klustret via fjärranslutning. En förloppsindikator för Spark-jobb tillhandahålls med en förloppsindikator i realtid som verkar hjälpa dig att förstå statusen för jobbkörning. Antalet uppgifter per jobb eller fas hjälper dig att identifiera den parallella nivån för ditt Spark-jobb. Du kan också öka detaljnivån för Spark-användargränssnittet för ett visst jobb (eller fas) genom att välja länken för jobbets (eller fasens) namn.

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

Skärmbild av information om Spark-jobbens förlopp.

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.

Redigera en hemlighet

För att förhindra att autentiseringsuppgifter av misstag läcker när notebook-filer körs stöder Fabric-notebook-filer 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 en notebook-fil

Inbyggda magiska kommandon

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

Kommentar

Det här är de enda magiska kommandona som stöds i Fabric-pipelinen: %%pyspark, %%spark, %%csharp, %%sql, %%configure.

Tillgängliga radmagikommandon: %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 stöder även de förbättrade bibliotekshanteringskommandona %pip och %conda. Mer information om användning finns i Hantera Apache Spark-bibliotek i Microsoft Fabric.

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

Anpassade magiska kommandon

Du kan också skapa fler anpassade magiska kommandon för att uppfylla dina specifika behov. Här är ett exempel:

  1. Skapa en notebook-fil med namnet "MyLakehouseModule".

    Skärmbild av definiera en anpassad magi.

  2. I en annan notebook-fil refererar du till "MyLakehouseModule" och dess magiska kommandon. Den här processen är hur du enkelt kan organisera projektet med notebook-filer som använder olika språk.

    Skärmbild av användning av anpassad magi.

IPython Widgets

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

Så här använder du IPython Widgets

  1. Importera modulen ipywidgets först för att använda Jupyter Widget-ramverket.

    import ipywidgets as widgets
    
  2. Använd 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. Använd flera display() -anrop för att återge samma widgetinstans flera gånger. De är fortfarande 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 VäxlaKnapp, Kryssruta, Giltig
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
Container- eller layoutwidgetar Box, HBox, VBox, GridBox, Accordion, Tabs, Stacked

Kända begränsningar

  • Följande widgetar stöds inte än. Följande lösningar är tillgängliga:

    Funktionalitet 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.
  • Den globala visningsfunktionen Fabric stöder inte visning av flera widgetar i ett anrop (till exempel display(a, b)). Det här beteendet skiljer sig från IPython-visningsfunktionen.

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

  • Funktionen interact (ipywidgets.interact) stöds inte.

Integrera en notebook-fil

Ange en parametercell

Om du vill parametrisera anteckningsboken väljer du ellipserna (...) för att komma åt 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 en notebook-fil i en pipeline. Pipelineaktivitet söker efter parametercellen och behandlar den här cellen som standard för de parametrar som skickades in vid körningen. Körningsmotorn lägger till en ny cell under parametercellen med indataparametrar för att skriva över standardvärdena.

Tilldela parametrar värden från en pipeline

När du har skapat en notebook-fil med parametrar kan du köra den från en pipeline med aktiviteten Fabric Notebook. När du har lagt till aktiviteten i pipelinearbetsytan kan du ange parametrarnas värden under avsnittet Basparametrarfliken Inställningar .

Skärmbild som visar var du tilldelar parametrar värden från en pipeline.

När du tilldelar parametervärden kan du använda språket för pipelineuttryck eller funktioner och variabler.

Magiskt kommando för Spark-sessionskonfiguration

Du kan anpassa Spark-sessionen med det magiska kommandot %%configure. Fabric Notebook stöder anpassade virtuella kärnor, minne för drivrutinen och kören, Apache Spark-egenskaper, monteringspunkter, pool och standard lakehouse för notebook-sessionen. De kan användas i både interaktiva notebook- och pipeline-notebook-aktiviteter. Vi rekommenderar att du kör kommandot %%configure i början av anteckningsboken, eller så måste du starta om Spark-sessionen för att inställningarna ska börja gälla.

%%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", "472g"]
    "driverCores": 4, // Recommended values: [4, 8, 16, 32, 64, 80]
    "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": "<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>"
        },
    ],
    "useStarterPool": false,  // Set to true to force using starter pool
    "useWorkspacePool": "<workspace-pool-name>"
}

Kommentar

  • Vi rekommenderar att du anger samma värde för "DriverMemory" och "ExecutorMemory" i %%configure. Värdena "driverCores" och "executorCores" bör också vara desamma.
  • "DefaultLakehouse" skriver över ditt fästa lakehouse i Lakehouse Explorer, men det fungerar bara i den aktuella notebook-sessionen.
  • Du kan använda %%configure i Infrastruktur-pipelines, men om den inte anges i den första kodcellen misslyckas pipelinekörningen på grund av att sessionen inte kan startas om.
  • %%configure som används i mssparkutils.notebook.run ignoreras men används i %run notebook fortsätter att köras.
  • Spark-standardkonfigurationsegenskaperna måste användas i "conf"-brödtexten. Fabric stöder inte referens på första nivån för Spark-konfigurationsegenskaperna.
  • Vissa särskilda Spark-egenskaper, inklusive "spark.driver.cores", "spark.executor.cores", "spark.driver.memory", "spark.executor.memory" och "spark.executor.instances" börjar inte gälla i "conf"-brödtexten.

Parameteriserad sessionskonfiguration från en pipeline

Med parametriserad sessionskonfiguration kan du ersätta värdet i %%configure magic med aktivitetsparametrarna för pipelinekörning av notebook-filer. När du förbereder %%configure code cell kan du åsidosätta standardvärden (även konfigurerbara, 4 och "2000" i exemplet nedan) med ett objekt som det här:

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

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

En notebook-fil använder standardvärdet om du kör en notebook-fil i interaktivt läge direkt eller om pipelinens notebook-aktivitet inte ger någon parameter som matchar "activityParameterName".

Under en pipelinekörning kan du konfigurera inställningar för pipelineaktivitet för notebook-filer på följande sätt:

Skärmbild som visar var du konfigurerar parametriserad session.

Om du vill ändra sessionskonfigurationen bör parameternamnet för pipeline-notebook-aktivitet vara samma som parameterName i notebook-filen. I det här exemplet på att köra en pipeline driverCores ersätts %%configure med 8 och livy.rsc.sql.num-rows ersätts med 4 000.

Kommentar

  • Om en pipelinekörning misslyckas eftersom du använde kommandot %%configure magic hittar du mer felinformation genom att köra den magiska cellen %%configure i det interaktiva läget för notebook-filen.
  • Schemalagda notebook-körningar stöder inte parameteriserad sessionskonfiguration.

Python-loggning i en 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")

Visa historiken för indatakommandon

Fabric Notebook har stöd för magiskt kommando %history för att skriva ut indatakommandohistoriken som kördes i den aktuella sessionen, jämfört med standardkommandot Jupyter Ipython som fungerar för kontexten %history för flera språk i notebook-filen.

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

För alternativ:

  • -n: Skriv ut körningsnummer.

Där intervallet kan vara:

  • N: Skriv ut kod för Nth-körd cell.
  • M-N: Skriv ut kod från cellen Mth till Nth .

Exempel:

  • Skriv ut indatahistorik från 1:a till 2:a körd cell: %history -n 1-2

Kortkommandon

På samma sätt som Jupyter Notebooks har Fabric Notebooks ett modalt användargränssnitt. Tangentbordet gör olika saker beroende på vilket läge notebook-cellen befinner sig i. Notebook-filer för infrastrukturresurser stöder följande två lägen för en viss kodcell: Kommandoläge och Redigeringsläge.

  • 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 i enskilda celler. Ange kommandoläge genom att trycka på ESC eller använda musen för att välja utanför en cells redigeringsområde.

    Skärmbild av en cell i kommandoläge.

  • 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. Ange Redigeringsläge genom att trycka på Retur eller använda musen för att markera en cells redigeringsområde.

    Skärmbild av en cell i redigeringsläge.

Genvägsnycklar 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+Return
Markera cellen ovan Upp
Välj cell nedan Ned
Markera föregående cell k
Välj nästa cell J
Infoga cell ovan A
Infoga cell nedan F
Ta bort markerade celler Skift + D
Växla till redigeringsläge Skriv in

Kortkommandon i redigeringsläge

Med hjälp av följande genvägar för tangenttryckning kan du enkelt navigera och köra kod i 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 + /
Kommentar: Ctrl + K + C
Avkommentering: Ctrl + K + U
Ta bort ord före Ctrl + Backspace
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
Indrag Ctrl + ]
Dedent Ctrl + [
Växla till kommandoläge Esc

Om du vill hitta alla genvägsnycklar väljer du Visa i notebook-menyfliksområdet och väljer sedan Nyckelbindningar.