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
- Een primaire taal instellen
- Meerdere talen gebruiken
- IDE-stijl IntelliSense
- Codefragmenten
- Slepen en neerzetten om fragmenten in te voegen
- Slepen en neerzetten om afbeeldingen in te voegen
- Tekstcel opmaken met werkbalkknoppen
- Celbewerking ongedaan maken of opnieuw uitvoeren
- Een cel verplaatsen
- Een cel verwijderen
- Een celinvoer samenvouwen
- Een celuitvoer samenvouwen
- Beveiliging van celuitvoer
- Een cel vergrendelen of blokkeren
- Inhoud van notitieblok
- Markdown folding
- Zoeken en vervangen
Een cel toevoegen
Er zijn meerdere manieren om een nieuwe cel aan uw notitieblok toe te voegen.
Beweeg de muisaanwijzer over de ruimte tussen twee cellen en selecteer Code of Markdown.
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.
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.
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.
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.
Tekstcel opmaken met werkbalkknoppen
Als u algemene Markdown-acties wilt voltooien, gebruikt u de opmaakknoppen op de werkbalk van de tekstcel.
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.
Ondersteunde bewerkingen voor het ongedaan maken van cellen:
- Cel invoegen of verwijderen. U kunt de verwijderde bewerkingen 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.
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 de query.
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.
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.
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.
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.
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.
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.
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.
Verwijzingsuitvoering
Naslaginformatie over het uitvoeren van een notebook
Naast de API voor notebookutils-verwijzingsuitvoering, kunt u ook de %run <notebook name>
magic-opdracht gebruiken om te verwijzen naar een ander notebook in de context van het huidige notitieblok. 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
,bool
enstring
. 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: Deze optie geeft aan dat de opdracht het opgegeven scriptbestand vindt en uitvoert vanuit de ingebouwde bronnen 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(de root-notebook), zou de code zijn:
%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
- Als u script_file1.py wilt uitvoeren in Notebook1(de root-notebook), zou de code zijn:
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.
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.
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.
In Meer acties kunt u eenvoudig navigeren naar de pagina met details van de Spark-toepassing en de pagina van de Spark-webgebruikersinterface.
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.
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:
Maak een notitieblok met de naam MyLakehouseModule.
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.
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
Importeer eerst de ipywidgets-module om het Jupyter Widget-framework te gebruiken.
import ipywidgets as widgets
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)
Voer de cel uit. De widget wordt weergegeven in het uitvoergebied.
slider = widgets.IntSlider() display(slider)
Gebruik meerdere display() aanroepen om hetzelfde widgetexemplaren meerdere keren weer te geven. Ze blijven gesynchroniseerd met elkaar.
slider = widgets.IntSlider() display(slider) display(slider)
Als u twee widgets onafhankelijk van elkaar wilt weergeven, maakt u twee widgetexemplaren:
slider1 = widgets.IntSlider() slider2 = widgets.IntSlider() display(slider1) display(slider2)
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.
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 .
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"]
"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>"
}
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 notebookutils.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:
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.
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.
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.