Delen via


Microsoft Fabric-notebooks ontwikkelen, uitvoeren en beheren

Een Microsoft Fabric-notebook is een primair code-item voor het ontwikkelen van Apache Spark-taken en machine learning-experimenten. Het is een interactief weboppervlak dat wordt gebruikt door gegevenswetenschappers en data engineers om code te schrijven die profiteert van rijke visualisaties en Markdown-tekst. In dit artikel wordt uitgelegd hoe u notebooks ontwikkelt met codecelbewerkingen en deze uitvoert.

Notebooks ontwikkelen

Notebooks bestaan uit cellen, die afzonderlijke code- of tekstblokken zijn die onafhankelijk of als groep kunnen worden uitgevoerd.

We bieden uitgebreide bewerkingen voor het ontwikkelen van notebooks:

Een cel toevoegen

Er zijn meerdere manieren om een nieuwe cel aan uw notitieblok toe te voegen.

  1. Beweeg de muisaanwijzer over de ruimte tussen twee cellen en selecteer Code of Markdown.

  2. Gebruik sneltoetsen in de opdrachtmodus. Druk op A om een cel boven de huidige cel in te voegen. Druk op B om een cel onder de huidige cel in te voegen.

Een primaire taal instellen

Fabric-notebooks ondersteunen momenteel vier Apache Spark-talen:

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

U kunt de primaire taal instellen voor nieuwe toegevoegde cellen in de vervolgkeuzelijst in de bovenste opdrachtbalk.

Meerdere talen gebruiken

U kunt meerdere talen in een notebook gebruiken door de magic-opdracht taal aan het begin van een cel op te geven. U kunt ook de celtaal wijzigen in de taalkiezer. De volgende tabel bevat de magic-opdrachten voor het schakelen tussen celtalen.

Schermopname van een voorbeeld van de magic-opdracht voor de taal die aan het begin van een cel is ingevoerd.

Magic-opdracht Taal Beschrijving
%%pyspark Python Voer een Python-query uit op Apache Spark-context.
%%spark Scala Voer een Scala-query uit op Apache Spark-context.
%%sql SparkSQL Voer een SparkSQL-query uit op Apache Spark-context.
%%html HTML Voer een HTML-query uit op Apache Spark-context .
%%sparkr R Voer een R-query uit op Apache Spark-context.

IDE-stijl IntelliSense

Fabric-notebooks zijn geïntegreerd met de Monaco-editor om IntelliSense in IDE-stijl naar de celeditor te brengen. Met syntaxismarkeringen, foutmarkeringen en automatische code-voltooiingen kunt u snel code schrijven en problemen identificeren.

De IntelliSense-functies zijn op verschillende volwassenheidsniveaus voor verschillende talen. In de volgende tabel ziet u wat Fabric ondersteunt:

Talen Syntaxismarkering Syntaxisfoutmarkering Voltooiing van syntaxiscode Voltooiing van variabele code Voltooiing van systeemfunctiecode Voltooiing van de gebruikersfunctiecode Slimme inspringing Code vouwen
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

Notitie

U moet een actieve Apache Spark-sessie hebben om intelliSense-code te kunnen voltooien.

Codefragmenten

Fabric-notebooks bieden codefragmenten waarmee u eenvoudig veelgebruikte codepatronen kunt schrijven, zoals:

  • Gegevens lezen als een Apache Spark DataFrame
  • Grafieken tekenen met Matplotlib

Fragmenten worden weergegeven in sneltoetsen van de IDE-stijl IntelliSense gecombineerd met andere suggesties. De inhoud van het codefragment wordt uitgelijnd met de taal van de codecel. U kunt beschikbare fragmenten zien door fragment te typen. U kunt ook elk trefwoord typen om een lijst met relevante fragmenten weer te geven. Als u bijvoorbeeld lezen typt, ziet u de lijst met fragmenten om gegevens uit verschillende gegevensbronnen te lezen.

GIF-animatie van codefragmenten.

Slepen en neerzetten om fragmenten in te voegen

Gebruik slepen en neerzetten om gegevens uit Lakehouse Explorer gemakkelijk te lezen. Hier worden meerdere bestandstypen ondersteund; u kunt werken met tekstbestanden, tabellen, afbeeldingen, enzovoort. U kunt naar een bestaande cel of naar een nieuwe cel gaan. Het notebook genereert het codefragment dienovereenkomstig om een voorbeeld van de gegevens te bekijken.

GIF-animatie van slepen en neerzetten om fragmenten in te voegen.

Slepen en neerzetten om afbeeldingen in te voegen

Gebruik slepen en neerzetten om eenvoudig afbeeldingen vanuit uw browser of lokale computer in te voegen in een Markdown-cel.

GIF-animatie van slepen en neerzetten om afbeeldingen in te voegen.

Tekstcel opmaken met werkbalkknoppen

Als u algemene Markdown-acties wilt voltooien, gebruikt u de opmaakknoppen op de werkbalk van de tekstcel.

Schermopname van de werkbalk tekstopmaak.

Celbewerkingen ongedaan maken of opnieuw uitvoeren

Selecteer Ongedaan maken of opnieuw uitvoeren of druk op Z of Shift+Z om de meest recente celbewerkingen in te trekken. U kunt maximaal 10 van de meest recente historische celbewerkingen ongedaan maken of opnieuw uitvoeren.

Schermopname van de menuopties ongedaan maken en opnieuw uitvoeren.

Ondersteunde bewerkingen voor het ongedaan maken van cellen:

  • Cel invoegen of verwijderen. U kunt de verwijderingsbewerkingen intrekken door Ongedaan maken te selecteren (de tekstinhoud wordt samen met de cel bewaard).
  • Volgorde van cel wijzigen.
  • Schakel de parameter in.
  • Converteren tussen codecel en Markdown-cel.

Notitie

Bewerkingen voor tekst in cellen en bewerkingen voor opmerkingen in codecellen kunnen niet ongedaan worden gemaakt. U kunt maximaal 10 van de meest recente historische celbewerkingen ongedaan maken of opnieuw uitvoeren.

Een cel verplaatsen

U kunt slepen van het lege gedeelte van een cel en deze neerzetten op de gewenste positie.

U kunt de geselecteerde cel ook verplaatsen met omhoog en omlaag op het lint.

Schermopname van de opties voor het verplaatsen van een cel.

Een cel verwijderen

Als u een cel wilt verwijderen, selecteert u de knop Verwijderen aan de rechterkant van de cel.

U kunt ook sneltoetsen gebruiken in de opdrachtmodus. Druk op Shift+D om de huidige cel te verwijderen.

Een celinvoer samenvouwen

Selecteer het weglatingsteken Meer opdrachten (...) op de celwerkbalk en verberg invoer om de invoer van de huidige cel samen te vouwen. Als u de cel opnieuw wilt uitvouwen, selecteert u Invoer weergeven wanneer de cel is samengevouwen.

Een celuitvoer samenvouwen

Selecteer het beletselteken (...) meer opdrachten (...) op de celwerkbalk en verberg de uitvoer om de uitvoer van de huidige cel samen te vouwen. Als u de uitvoer opnieuw wilt uitvouwen, selecteert u Uitvoer weergeven wanneer de celuitvoer is samengevouwen.

Beveiliging van celuitvoer

Met oneLake-rollen voor gegevenstoegang (preview) kunnen gebruikers de toegang tot alleen specifieke mappen in een lakehouse configureren tijdens notebookquery's. Gebruikers zonder toegang tot een map of tabel zien een niet-geautoriseerde fout tijdens het uitvoeren van query's.

Belangrijk

Beveiliging is alleen van toepassing tijdens het uitvoeren van query's en alle notebookcellen met queryresultaten kunnen worden bekeken door gebruikers die niet zijn gemachtigd om query's rechtstreeks op de gegevens uit te voeren.

Een cel vergrendelen of blokkeren

Met de vergrendelings- en blokkeringsbewerkingen kunt u cellen alleen-lezen of stoppen dat codecellen afzonderlijk worden uitgevoerd.

GIF-animatie van vergrendelen of blokkeren van een cel.

Cellen samenvoegen en splitsen

U kunt Samenvoegen met vorige cel of Samenvoegen met volgende cel gebruiken om gerelateerde cellen gemakkelijk samen te voegen.

Als u gesplitste cel selecteert, kunt u irrelevante instructies splitsen in meerdere cellen. De bewerking splitst de code op basis van de lijnpositie van de cursor.

Schermopname van het invoeren van gesplitste cellen voor samenvoegen.

Inhoud van notitieblok

Als u Overzichten of Inhoudsopgave selecteert, ziet u de eerste Markdown-koptekst van een Markdown-cel in een zijbalkvenster voor snelle navigatie. De zijbalk Overzichten kan zo goed mogelijk worden aangepast en samengevouwen om het scherm zo goed mogelijk aan te passen. Selecteer de knop Inhoud op de opdrachtbalk van het notitieblok om de zijbalk te openen of te verbergen.

Schermopname die laat zien waar u de optie Inhoud kunt selecteren.

Markdown folding

Met de optie markdown folding kunt u cellen verbergen onder een Markdown-cel die een kop bevat. De Markdown-cel en de verborgen cellen worden hetzelfde behandeld als een reeks aaneengesloten multi-geselecteerde cellen bij het uitvoeren van celbewerkingen.

GIF-animatie van Markdown folding.

Zoeken en vervangen

Met de optie zoeken en vervangen kunt u de trefwoorden of expressies in uw notitieblokinhoud vinden en vinden. U kunt de doeltekenreeks ook eenvoudig vervangen door een nieuwe tekenreeks.

Schermopname van het deelvenster Zoeken en vervangen.

Notebooks gebruiken

U kunt de codecellen in uw notebook afzonderlijk of allemaal tegelijk uitvoeren. De status en voortgang van elke cel worden weergegeven in het notitieblok.

Een cel uitvoeren

Er zijn verschillende manieren om de code in een cel uit te voeren.

  • Beweeg de muisaanwijzer over de cel die u wilt uitvoeren en selecteer de knop Cel uitvoeren of druk op Ctrl+Enter.

  • Gebruik sneltoetsen in de opdrachtmodus. Druk op Shift+Enter om de huidige cel uit te voeren en selecteer de volgende cel. Druk op Alt+Enter om de huidige cel uit te voeren en een nieuwe cel in te voegen.

Alle cellen uitvoeren

Selecteer de knop Alles uitvoeren om alle cellen in het huidige notitieblok op volgorde uit te voeren.

Alle cellen boven of onder uitvoeren

Vouw de vervolgkeuzelijst uit van Alles uitvoeren en selecteer cellen uitvoeren hierboven om alle cellen boven de huidige in volgorde uit te voeren. Selecteer Cellen uitvoeren hieronder om de huidige cel en alle cellen onder de huidige in volgorde uit te voeren.

Schermopname van de menuopties Alle uitvoeren.

Alle actieve cellen annuleren

Selecteer Alles annuleren om de actieve cellen of cellen te annuleren die in de wachtrij wachten.

Sessie stoppen

De sessie stoppen annuleert de actieve en wachtende cellen en stopt de huidige sessie. U kunt een gloednieuwe sessie opnieuw starten door de optie voor uitvoeren opnieuw te selecteren.

Schermopname die laat zien waar u Alle uitvoeringen annuleren selecteert en een sessie stopt.

Verwijzingsuitvoering

Naslaginformatie over het uitvoeren van een notebook

Naast mssparkutils reference run API, kunt u ook de magic-opdracht gebruiken om te verwijzen naar een ander notebook binnen de %run <notebook name> context van het huidige notebook. Alle variabelen die in het referentienotitieblok zijn gedefinieerd, zijn beschikbaar in het huidige notebook. De %run magic-opdracht ondersteunt geneste oproepen, maar biedt geen ondersteuning voor recursieve oproepen. U ontvangt een uitzondering als de diepte van de instructie groter is dan vijf.

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

Notebook-naslaginformatie werkt in zowel de interactieve modus als de pijplijn.

Notitie

  • De %run opdracht ondersteunt momenteel alleen referentienotebooks in dezelfde werkruimte met het huidige notebook.
  • De %run opdracht ondersteunt momenteel maximaal vier parameterwaardetypen: int, float, boolen string. Het vervangen van variabelen wordt niet ondersteund.
  • De %run opdracht biedt geen ondersteuning voor geneste verwijzingen met een diepte die groter is dan vijf.

Naslaginformatie over het uitvoeren van een script

Met de %run opdracht kunt u ook Python- of SQL-bestanden uitvoeren die zijn opgeslagen in de ingebouwde resources van het notebook, zodat u uw broncodebestanden in notebook gemakkelijk kunt uitvoeren.

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

Voor opties:

  • -b/-builtin: met deze optie wordt aangegeven dat de opdracht het opgegeven scriptbestand vindt en uitvoert vanuit de ingebouwde resources van het notebook.
  • -c/-current: Met deze optie zorgt u ervoor dat de opdracht altijd gebruikmaakt van de ingebouwde resources van het huidige notebook, zelfs als naar het huidige notitieblok wordt verwezen door andere notebooks.

Voorbeelden:

  • Script_file.py uitvoeren vanuit de ingebouwde resources:%run -b script_file.py

  • Voer script_file.sql uit vanuit de ingebouwde resources:%run -b script_file.sql

  • Script_file.py uitvoeren vanuit de ingebouwde resources met specifieke variabelen:%run -b script_file.py { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }

Notitie

Als de opdracht geen -b/--builtin bevat, wordt geprobeerd een notebook-item in dezelfde werkruimte te vinden en uit te voeren in plaats van de ingebouwde resources.

Gebruiksvoorbeeld voor geneste uitvoeringscase:

  • Stel dat we twee notitieblokken hebben.
    • Notebook1: bevat script_file1.py in de ingebouwde resources
    • Notebook2: bevat script_file2.py in de ingebouwde resources
  • Laten we Notebook1 gebruiken als hoofdnotitieblok met de inhoud: %run Notebook2.
  • In Notebook2 is de gebruiksinstructie:
    • Als u script_file1.py wilt uitvoeren in Notebook1 (het hoofdnotitieblok), is de code:%run -b script_file1.py
    • Als u script_file2.py wilt uitvoeren in Notebook2 (het huidige notebook), is de code:%run -b -c script_file2.py

Variabeleverkenner

Fabric-notebooks bieden een ingebouwde variabelenverkenner waarmee de lijst met de naam van de variabelen, het type, de lengte en de waarde in de huidige Spark-sessie voor PySpark-cellen (Python) wordt weergegeven. Meer variabelen worden automatisch weergegeven wanneer ze worden gedefinieerd in de codecellen. Als u op elke kolomkop klikt, worden de variabelen in de tabel gesorteerd.

Als u de variabeleverkenner wilt openen of verbergen, selecteert u Variabelen in de lintweergave van het notitieblok.

Schermopname die laat zien waar variabelen moeten worden geopend.

Notitie

De Variable Explorer ondersteunt alleen Python.

Indicator voor celstatus

Onder de cel wordt een stapsgewijze uitvoeringsstatus van de cel weergegeven, zodat u de huidige voortgang kunt zien. Zodra de uitvoering van de cel is voltooid, wordt er een uitvoeringsoverzicht met de totale duur en eindtijd weergegeven en daar opgeslagen voor toekomstig gebruik.

Schermopname van een voorbeeld van details van de uitvoeringsstatus van de cel.

Indicator voor inline Apache Spark-taak

Het Fabric-notebook is gebaseerd op Apache Spark. Codecellen worden op afstand uitgevoerd op het Apache Spark-cluster. Een Voortgangsindicator voor Spark-taken wordt geleverd met een realtime voortgangsbalk die u helpt inzicht te krijgen in de uitvoeringsstatus van de taak. Het aantal taken per taak of fase helpt u bij het identificeren van het parallelle niveau van uw Spark-taak. U kunt ook dieper inzoomen op de Spark-gebruikersinterface van een specifieke taak (of fase) door de koppeling op de taaknaam (of fase) te selecteren.

U kunt ook het realtime logboek op celniveau naast de voortgangsindicator vinden en Diagnostische gegevens kunnen u nuttige suggesties bieden om de code te verfijnen en fouten op te sporen.

Schermopname van de voortgang van Spark-taken.

In Meer acties kunt u eenvoudig navigeren naar de pagina met details van de Spark-toepassing en de pagina van de Spark-webgebruikersinterface.

Schermopname van details van meer acties.

Geheime redactie

Om te voorkomen dat referenties per ongeluk worden gelekt bij het uitvoeren van notebooks, ondersteunen Fabric-notebooks geheime redaction om de geheime waarden te vervangen die worden weergegeven in celuitvoer door [REDACTED]. Geheime redaction is van toepassing op Python, Scala en R.

Schermopname van geheime redaction.

Magic-opdrachten in een notebook

Ingebouwde magic-opdrachten

U kunt bekende Magic-opdrachten voor Ipython gebruiken in Fabric-notebooks. Bekijk de volgende lijst met momenteel beschikbare magic-opdrachten.

Notitie

Dit zijn de enige magic-opdrachten die worden ondersteund in fabric-pijplijn: %%pyspark, %%spark, %%csharp, %%sql, %%configure.

Beschikbare magic-opdrachten voor regels: %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.

Fabric Notebook ondersteunt ook de verbeterde bibliotheekbeheeropdrachten %pip en %conda. Zie Apache Spark-bibliotheken beheren in Microsoft Fabric voor meer informatie over het gebruik.

Beschikbare magic-opdrachten voor cellen: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%configure, %%html, %%bash, %%markdown, %%perl, %%script, %%sh.

Aangepaste magic-opdrachten

U kunt ook meer aangepaste magic-opdrachten ontwikkelen om aan uw specifieke behoeften te voldoen. Hier volgt een voorbeeld:

  1. Maak een notitieblok met de naam MyLakehouseModule.

    Schermopname van het definiëren van een aangepaste magie.

  2. In een ander notebook verwijst u naar de 'MyLakehouseModule' en de bijbehorende magic-opdrachten. Dit proces is hoe u uw project gemakkelijk kunt organiseren met notebooks die verschillende talen gebruiken.

    Schermopname van het gebruik van aangepaste magie.

IPython-widgets

IPython-widgets zijn gebeurtenisvolle Python-objecten die een weergave in de browser hebben. U kunt IPython-widgets gebruiken als besturingselementen met weinig code (bijvoorbeeld schuifregelaar of tekstvak) in uw notebook, net zoals het Jupyter-notebook. Momenteel werkt het alleen in een Python-context.

IPython-widgets gebruiken

  1. Importeer eerst de ipywidgets-module om het Jupyter Widget-framework te gebruiken.

    import ipywidgets as widgets
    
  2. Gebruik de weergavefunctie op het hoogste niveau om een widget weer te geven of laat een expressie van het widgettype achter op de laatste regel van de codecel.

    slider = widgets.IntSlider()
    display(slider)
    
  3. Voer de cel uit. De widget wordt weergegeven in het uitvoergebied.

    slider = widgets.IntSlider()
    display(slider)
    

    Schermopname van de widget die wordt weergegeven in het uitvoergebied.

  4. Gebruik meerdere display() aanroepen om hetzelfde widgetexemplaren meerdere keren weer te geven. Ze blijven gesynchroniseerd met elkaar.

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

    Schermopname van meerdere keren van één widget.

  5. Als u twee widgets onafhankelijk van elkaar wilt weergeven, maakt u twee widgetexemplaren:

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

    Schermopname van meerdere exemplaren van widgets.

Ondersteunde widgets

Widgetstype Widgets
Numerieke widgets IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText
Booleaanse widgets Wisselknop, selectievakje, geldig
Selectiewidgets Vervolgkeuzelijst, RadioButtons, Select, SelectionSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple
Tekenreekswidgets Tekst, tekstgebied, keuzelijst met invoervak, wachtwoord, label, HTML, HTML-wiskunde, afbeelding, knop
Widgets afspelen (animatie) Datumkiezer, kleurkiezer, controller
Container- of indelingswidgets Box, HBox, VBox, GridBox, Accordion, Tabs, Gestapeld

Bekende beperkingen

  • De volgende widgets worden nog niet ondersteund. De volgende tijdelijke oplossingen zijn beschikbaar:

    Functionaliteit Tijdelijke oplossing
    Uitvoerwidget U kunt in plaats daarvan de functie print() gebruiken om tekst naar stdout te schrijven.
    widgets.jslink() U kunt de functie widgets.link() gebruiken om twee vergelijkbare widgets te koppelen.
    Widget FileUpload Nog niet ondersteund.
  • De globale weergavefunctie Fabric biedt geen ondersteuning voor het weergeven van meerdere widgets in één aanroep (bijvoorbeeld display(a, b)). Dit gedrag verschilt van de IPython-weergavefunctie.

  • Als u een notitieblok sluit dat een IPython-widget bevat, kunt u dit pas zien of ermee werken als u de bijbehorende cel opnieuw uitvoert.

  • De interactiefunctie (ipywidgets.interact) wordt niet ondersteund.

Een notebook integreren

Een parametercel aanwijzen

Als u uw notitieblok wilt parameteriseren, selecteert u het beletselteken (...) om toegang te krijgen tot de opdrachten Meer op de werkbalk van de cel. Selecteer vervolgens De parametercel in-/uitschakelen om de cel aan te wijzen als de parametercel.

Schermopname die laat zien waar u de optie schakeloptie parametercel kunt selecteren.

De parametercel is handig voor het integreren van een notebook in een pijplijn. Pijplijnactiviteit zoekt naar de parametercel en behandelt deze cel als de standaardwaarde voor de parameters die tijdens de uitvoering zijn doorgegeven. De uitvoeringsengine voegt een nieuwe cel toe onder de parametercel met invoerparameters om de standaardwaarden te overschrijven.

Parameters uit een pijplijn toewijzen

Nadat u een notebook met parameters hebt gemaakt, kunt u dit uitvoeren vanuit een pijplijn met de activiteit Fabric-notebook. Nadat u de activiteit aan het pijplijncanvas hebt toegevoegd, kunt u de parameterswaarden instellen onder de sectie Basisparameters van het tabblad Instellingen .

Schermopname die laat zien waar parameters uit een pijplijn moeten worden toegewezen.

Wanneer u parameterwaarden toewijst, kunt u de taal van de pijplijnexpressie of functies en variabelen gebruiken.

Magic-opdracht voor spark-sessieconfiguratie

U kunt uw Spark-sessie aanpassen met de magic-opdracht %%configureren. Fabric-notebook ondersteunt aangepaste vCores, geheugen van het stuurprogramma en uitvoerprogramma, Apache Spark-eigenschappen, koppelpunten, pool en het standaard lakehouse van de notebooksessie. Ze kunnen worden gebruikt in zowel interactieve notebook- als pijplijnnotitieblokactiviteiten. U wordt aangeraden de opdracht %%configure aan het begin van uw notebook uit te voeren of u moet de Spark-sessie opnieuw starten om de instellingen van kracht te laten worden.

%%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>"
}

Notitie

  • U wordt aangeraden dezelfde waarde in te stellen voor DriverMemory en ExecutorMemory in %%configure. De waarden 'driverCores' en 'executorCores' moeten ook hetzelfde zijn.
  • De 'defaultLakehouse' overschrijft uw vastgemaakte lakehouse in Lakehouse Explorer, maar dat werkt alleen in uw huidige notebooksessie.
  • U kunt %%configureren in Fabric-pijplijnen gebruiken, maar als deze niet is ingesteld in de eerste codecel, mislukt de pijplijnuitvoering omdat de sessie niet opnieuw kan worden opgestart.
  • De %%-configuratie die wordt gebruikt in mssparkutils.notebook.run wordt genegeerd, maar wordt gebruikt in %run notebook blijft worden uitgevoerd.
  • De standaardconfiguratie-eigenschappen van Spark moeten worden gebruikt in de hoofdtekst 'conf'. Fabric biedt geen ondersteuning voor referentie op het eerste niveau voor de Spark-configuratie-eigenschappen.
  • Sommige speciale Spark-eigenschappen, waaronder 'spark.driver.cores', 'spark.executor.cores', 'spark.driver.memory', 'spark.executor.memory' en 'spark.executor.instances' worden niet van kracht in de hoofdtekst 'conf'.

Configuratie van geparameteriseerde sessie vanuit een pijplijn

Met de configuratie van een geparameteriseerde sessie kunt u de waarde in %%magic vervangen door de activiteitsparameters van de pijplijnuitvoeringsnotitieblok. Wanneer u %%codecel voorbereidt, kunt u in het onderstaande voorbeeld standaardwaarden overschrijven (ook configureerbaar, 4 en 2000) met een object als volgt:

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

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

Een notebook gebruikt de standaardwaarde als u een notebook rechtstreeks in de interactieve modus uitvoert of als de pijplijnnotitieblokactiviteit geen parameter geeft die overeenkomt met activityParameterName.

Tijdens een pijplijnuitvoering kunt u de activiteitsinstellingen voor pijplijnnotitieblokken als volgt configureren:

Schermopname die laat zien waar een geparameteriseerde sessie moet worden geconfigureerd.

Als u de sessieconfiguratie wilt wijzigen, moet de naam van de parameters voor de pijplijnnotitieblokactiviteit hetzelfde zijn als parameterName in het notebook. In dit voorbeeld van het uitvoeren van een pijplijn worden driverCores in %%configure vervangen door 8 en livy.rsc.sql.num-rows vervangen door 4000.

Notitie

  • Als het uitvoeren van een pijplijn mislukt omdat u de magic-opdracht %%configureren hebt gebruikt, vindt u meer foutinformatie door de magic-cel %%configureren uit te voeren in de interactieve modus van het notebook.
  • Geplande notebookuitvoeringen bieden geen ondersteuning voor geparameteriseerde sessieconfiguratie.

Python-logboekregistratie in een notebook

U kunt Python-logboeken vinden en verschillende logboekniveaus en -indeling instellen, zoals de voorbeeldcode die hier wordt weergegeven:

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

De geschiedenis van invoeropdrachten weergeven

Fabric Notebook biedt ondersteuning voor magic-opdrachten %history om de geschiedenis van de invoeropdracht af te drukken die in de huidige sessie wordt uitgevoerd, vergeleken met de standaard Jupyter Ipython-opdracht die werkt %history voor context in meerdere talen in notebook.

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

Voor opties:

  • -n: Uitvoeringsnummer afdrukken.

Waar het bereik kan zijn:

  • N: De code van de door Nde uitgevoerde cel afdrukken.
  • M-N: Code van Mth naar Nth uitgevoerde cel afdrukken.

Voorbeeld:

  • Invoergeschiedenis afdrukken van de eerste tot de tweede uitgevoerde cel: %history -n 1-2

Sneltoetsen

Net als bij Jupyter Notebooks hebben Fabric-notebooks een modale gebruikersinterface. Het toetsenbord doet verschillende dingen, afhankelijk van de modus waarin de notebookcel zich bevindt. Fabric-notebooks ondersteunen de volgende twee modi voor een bepaalde codecel: de opdrachtmodus en de bewerkingsmodus.

  • Een cel bevindt zich in de opdrachtmodus wanneer er geen tekstcursor wordt gevraagd om te typen. Wanneer een cel zich in de opdrachtmodus bevindt, kunt u het notitieblok als geheel bewerken, maar niet in afzonderlijke cellen typen. Voer de opdrachtmodus in door op Esc te drukken of door de muis te gebruiken om buiten het editorgebied van een cel te selecteren.

    Schermopname van een cel in de opdrachtmodus.

  • De bewerkingsmodus kan worden aangegeven via een tekstcursor die u vraagt om in het editorgebied te typen. Wanneer een cel zich in de bewerkingsmodus bevindt, kunt u in de cel typen. Voer de bewerkingsmodus in door op Enter te drukken of met de muis het editorgebied van een cel te selecteren.

    Schermopname van een cel in de bewerkingsmodus.

Sneltoetsen in opdrachtmodus

Actie Snelkoppelingen voor notitieblokken
Voer de huidige cel uit en selecteer hieronder Shift+Enter
Voer de huidige cel uit en voeg hieronder in Alt+Enter
Huidige cel uitvoeren Ctrl+Enter
Cel erboven selecteren Omhoog
Selecteer de cel hieronder Buiten gebruik
Vorige cel selecteren K
Volgende cel selecteren J
Cel erboven invoegen A
Cel hieronder invoegen B
Geselecteerde cellen verwijderen Shift +D
Overschakelen naar bewerkingsmodus Enter

Sneltoetsen in de bewerkingsmodus

Met behulp van de volgende toetsaanslagen kunt u eenvoudig navigeren en code uitvoeren in Fabric-notebooks in de bewerkingsmodus.

Actie Snelkoppelingen voor notitieblokken
Cursor omhoog verplaatsen Omhoog
Cursor omlaag verplaatsen Buiten gebruik
Ongedaan maken Ctrl+Z
Opnieuw uitvoeren Ctrl+Y
Opmerking of opmerking ongedaan maken Ctrl +/
Opmerking: Ctrl + K + C
Opmerking: Ctrl + K + U
Woord verwijderen voor Ctrl+ Backspace
Woord verwijderen na Ctrl+Delete
Naar het begin van de cel gaan Ctrl+Home
Naar het einde van de cel gaan Ctrl+End
Eén woord naar links gaan Ctrl+links
Eén woord naar rechts gaan Ctrl+rechts
Alles selecteren Ctrl + A
Inspringen Ctrl+]
Dedent Ctrl+[
Overschakelen naar opdrachtmodus Esc

Als u alle sneltoetsen wilt zoeken, selecteert u Weergeven op het notitiebloklint en selecteert u Vervolgens Toetsbindingen.