Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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.
Wij bieden uitgebreide mogelijkheden voor het ontwikkelen van notebooks.
- Een cel toevoegen
- Een primaire taal instellen
- Meerdere talen gebruiken
- IDE-stijl IntelliSense
- Codefragmenten
- Sleep en zet neer 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 inklappen
- Beveiliging van celuitvoer
- Een cel vergrendelen of blokkeren
- Inhoud van notitieblok
- Markdown-opvouwen
- 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 taal magic-opdracht aan het begin van een cel op te geven. U kunt ook de celtaal wijzigen in de taalkiezer. De volgende tabel bevat de magische opdrachten voor het schakelen tussen cel talen.
Magische 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 n 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 |
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 | Nee | Ja | Ja |
SparkR | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
T-SQL | Ja | Ja | Ja | Nee | Ja | Ja | Ja | Ja |
Notitie
U moet een actieve Apache Spark-sessie hebben om intelliSense-code te kunnen voltooien.
Python-ontwikkeling verbeteren met Pylance
Notitie
Momenteel is de functie beschikbaar als preview-versie.
Pylance, een krachtige en functierijke taalserver, is nu beschikbaar in Fabric-notebook. Pylance maakt python-ontwikkeling eenvoudiger met slimme voltooiingen, betere foutdetectie en verbeterde code-inzichten. Belangrijke verbeteringen zijn slimmere automatisch aanvullen, verbeterde lambda-ondersteuning, parametersuggesties, verbeterde informatie over aanwijzen, betere docstring rendering en foutmarkeringen. Met Pylance wordt het schrijven van Python- en PySpark-code sneller, nauwkeuriger en efficiënter.
Codefragmenten
Fabric-notebooks bieden codefragmenten waarmee u eenvoudig veelgebruikte codepatronen kunt schrijven, zoals:
- Gegevens lezen als een Apache Spark DataFrame
- Grafieken tekenen met Matplotlib
Codefragmenten worden in sneltoetsen van IntelliSense in de stijl van een IDE weergegeven, 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 drag-and-drop om eenvoudig gegevens uit Lakehouse Explorer 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 zodat je een voorbeeld van de gegevens kunt 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 ongedaan maken celbewerkingen:
- Cel invoegen of verwijderen. U kunt de verwijderde bewerkingen intrekken door Ongedaan maken te selecteren (de tekstinhoud wordt samen met de cel bewaard).
- Cel herschikken.
- Parameter aan/uit schakelen.
- 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 het 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.
Vouw een celinvoer in
Selecteer de ellipsen Meer opdrachten (...) op de werkbalk van de cel en verberg invoer om de invoer van de huidige cel te verbergen. Als u de cel opnieuw wilt uitvouwen, selecteert u Invoer weergeven wanneer de cel is samengevouwen.
Samenvouwen van een celuitvoer
Selecteer de meer opdrachten beletselteken (...) op de werkbalk van de cel en verberg de uitvoer om de uitvoer van de huidige cel in te klappen. Als u de uitvoer opnieuw wilt uitvouwen, selecteert u Uitvoer weergeven wanneer de celuitvoer is samengevouwen.
Veiligheid van celuitvoer
Met OneLake-rollen voor gegevenstoegang (preview) kunnen gebruikers toegang configureren tot uitsluitend specifieke mappen in een lakehouse 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 notebookcellen met queryresultaten kunnen worden bekeken door gebruikers die niet zijn gemachtigd om query's rechtstreeks uit te voeren op de gegevens.
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 is aanpasbaar en inklapbaar om optimaal op het scherm te passen. Selecteer de knop Inhoud op de opdrachtbalk van het notitieblok om de zijbalk te openen of te verbergen.
Markdown samenvouwen
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 uitdrukkingen in uw notitieblokinhoud matchen en lokaliseren. U kunt de doelstring ook eenvoudig vervangen door een nieuwe string.
Inline code-aanvulling van Copilot (Preview)
Copilot inline-codevoltooiing is een ai-functie die u helpt python-code sneller en efficiënter te schrijven in Fabric Notebooks. Deze functie biedt intelligente, contextbewuste codesuggesties terwijl u code typt. Het vermindert terugkerende taken, minimaliseert syntaxisfouten en versnelt de ontwikkeling door naadloos te integreren in uw notebookwerkstroom.
Belangrijkste voordelen
- Ai-gestuurde voltooiingen: Hiermee worden suggesties gegenereerd op basis van de context van uw notebook met behulp van een model dat is getraind op miljoenen regels code.
- Verhoogt de productiviteit: Helpt bij het schrijven van complexe functies, vermindert terugkerende codering en versnelt het verkennen van onbekende bibliotheken.
- Vermindert fouten: Minimaliseert typfouten en syntaxisfouten met intelligente, contextbewuste voltooiingen.
- Minimale installatie: Ingebouwd in Fabric-notebooks, vereist geen installatie. U kunt het inschakelen en beginnen met coderen.
Hoe het werkt
Schakel inlinecodesuggesties in met behulp van de schakelaar onderaan uw notebook. Terwijl u typt, worden suggesties weergegeven in lichtgrijze tekst, drukt u op tab om te accepteren of te wijzigen. Suggesties zijn gebaseerd op eerdere notebook cellen.
Notitie
Het inschakelen van inlinecodevoltooiing van Copilot verbruikt extra capaciteitseenheden.
Huidige beperkingen
- Copilot Inline Code Completion ondersteunt momenteel de Python-taal en gebruikt context van eerdere cellen en Lakehouse-schema's.
- Suggesties houden rekening met gegevens uit Lakehouse-schema's.
- Er wordt alleen een subset van schema-elementen gebruikt wanneer er veel tabellen of kolommen zijn.
- Dynamisch gemaakte tabellen (via Spark) worden niet in realtime herkend.
Notebooks uitvoeren
U kunt de codecellen in uw notebook afzonderlijk of allemaal tegelijk uitvoeren. De status en voortgang van elke cel worden weergegeven in het notitieblok.
Voer een cel uit
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.
Voer alle cellen uit
Selecteer de knop Alles uitvoeren om alle cellen in het huidige notitieblok op volgorde uit te voeren.
Voer alle cellen hierboven of hieronder uit
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 hieronder uitvoeren 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
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.
Referentieloop
Notebook uitvoeren als naslagreferentie.
Naast de notebookutils-verwijzingsuitvoering API, kunt u ook de %run <notebook name>
magic-opdracht gebruiken om te verwijzen naar een ander notitieblok binnen de context van het huidige notitieblok. Alle variabelen die in het referentienotenboek zijn gedefinieerd, zijn beschikbaar in het huidige notenboek. 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 werkt zowel in de interactieve modus als in de pijplijnmodus.
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
. Variabele vervangingsbewerking wordt niet ondersteund. - De
%run
opdracht ondersteunt geen geneste verwijzingen met een diepte die groter is dan vijf.
Referentie voer een script uit
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 het commando altijd de ingebouwde resources van het huidige notitieboek gebruikt, zelfs als naar het huidige notitieboek wordt verwezen door andere notitieboeken.
Voorbeelden:
Om script_file.py uit te voeren 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.
Voorbeeld van ingebedde testcase:
- Stel dat we twee notitieblokken hebben.
- Notebook1: bevat script_file1.py in de ingebouwde resources
- Notebook2: bevat script_file2.py in de ingebouwde hulpbronnen
- 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:
Variabele verkenner
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.
Sessiestatusindicator
Configuratie voor sessie-time-out
In de linkerbenedenhoek kunt u de sessiestatus selecteren voor meer informatie over de huidige sessie:
In het pop-upvenster is er een optie om de time-out opnieuw in te stellen op x minuten of uren.
Kies hoelang u een ononderbroken sessie wilt en druk op Apply. De time-out van de sessie wordt opnieuw ingesteld met de nieuwe waarde en u kunt aan de slag!
U kunt ook een time-out instellen zoals beschreven in:
- Beheerinstellingen voor Data Engineering-werkruimten in Microsoft Fabric
- Magic-opdracht voor spark-sessieconfiguratie
Aangemeld blijven: Als u tijdens de aanmelding het dialoogvenster Aangemeld blijven ziet, selecteert u Ja om de time-out voor de actieve sessie voor uw huidige sessie te deactiveren.
Belangrijk
Schakel het selectievakje Dit niet opnieuw weergeven niet in, omdat hierdoor uw aanmeldingsinstellingen permanent worden vergrendeld. Deze optie wordt mogelijk niet weergegeven als uw tenantbeheerder de instelling Aangemeld blijven (KMSI) heeft uitgeschakeld.
Een beleidswijziging aanvragen: Als u een langere sessieduur nodig hebt, vraagt u de tenantbeheerder om het time-outduurbeleid voor niet-actieve sessies uit te breiden. Ze kunnen dit doen door te navigeren naar Organisatie-instellingen
Notitie
Als u KMSI selecteert en/of de time-outduur van de niet-actieve sessie verlengt, wordt het risico vergroot dat een ontgrendelde machine wordt geopend.
Hoe beïnvloeden ABT en time-outs voor inactieve sessies langdurige uitvoeringen in Fabric Notebook?
Als uw tenant gebruikmaakt van time-out op basis van activiteit (ABT), kunnen langlopende interactieve taken in Fabric-notebooks worden beïnvloed door het time-outbeleid voor niet-actieve sessies van Microsoft 365. Deze beveiligingsfunctie is ontworpen om gebruikers af te melden op inactieve, niet-beheerde apparaten, zelfs als een notebooktaak nog steeds wordt uitgevoerd. Terwijl activiteiten in andere Microsoft 365-apps de sessie actief kunnen houden, worden niet-actieve apparaten standaard afgemeld.
Waarom worden gebruikers afgemeld, zelfs wanneer een notebooktaak nog steeds wordt uitgevoerd?
Time-out voor niet-actieve sessies geeft prioriteit aan beveiliging door sessies op inactieve apparaten te beëindigen om onbevoegde toegang te voorkomen. Zelfs wanneer een uitvoering van een notebook wordt uitgevoerd, wordt de sessie beëindigd als er geen activiteit op het apparaat wordt weergegeven. Het openhouden van sessies op niet-actieve apparaten zou de beveiliging in gevaar hebben. Daarom wordt het huidige gedrag afgedwongen.
Inline-indicator voor Apache Spark-taken
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 taken. 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 Diagnostica kan 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 maskerering om de geheime waarden die worden weergegeven in celuitvoer te verbergen met [REDACTED]
. Geheime redaction is van toepassing op Python, Scala en R.
Magic-commando's in een notebook
Ingebouwde magische commando's
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 de Fabric-pijplijn: %%pyspark, %%spark, %%csharp, %%sql, %%configure.
Beschikbare lijn magic-opdrachten: %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, %whos, %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 magische 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 magische commando's. 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 elementen | IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText |
Booleaanse widgets | Schakelknop, selectievakje, geldig |
selectiewidgets | Vervolgkeuzelijst, Radioknoppen, Selectie, SelectieSchuifregelaar, SelectieBereikSchuifregelaar, Wisselknoppen, MeervoudigSelecteren |
String-widgets | 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 de beletseltekens (...) om toegang te krijgen tot de Meer opdrachten op de cellenwerkbalk. Selecteer Parametercel in-/uitschakelen om de cel aan te duiden 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.
Waarden aan parameters toewijzen vanuit een pijplijn
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.
Magische opdracht voor Spark-sessieconfiguratie
U kunt uw Spark-sessie aanpassen met de magic-opdracht %%configureren. Fabric notebook ondersteunt aangepaste vCores, geheugen van de Driver en Executor, Apache Spark-eigenschappen, aankoppelpunten, poel en het standaard lakehouse van de notebook sessie. Ze kunnen worden gebruikt in zowel interactieve notitieboek- als pijplijnnotitieboekactiviteiten. 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' zal uw vastgemaakte Lakehouse in Lakehouse Explorer overschrijven, maar dat werkt alleen in uw huidige notebook-sessie.
- U kunt %%configure in Fabric-pijplijnen gebruiken, maar als deze niet is ingesteld in de eerste codecel, mislukt de pijplijnuitvoering omdat de sessie niet opnieuw kan worden gestart.
- De %%-configuratie die wordt gebruikt in notebookutils.notebook.run wordt genegeerd, maar de %run notebook blijft doorgaan met uitvoeren.
- 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, zoals "spark.driver.cores", "spark.executor.cores", "spark.driver.memory", "spark.executor.memory" en "spark.executor.instances" hebben geen effect in de "conf"-regel.
Configuratie van geparameteriseerde sessie vanuit een pijplijn
Met de configuratie van een geparameteriseerde sessie kunt u het commando in %%configure magic vervangen door de parameters van de pipeline-uitvoeringsnotebookactiviteit. 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 stand uitvoert of als de notebook-activiteit van de pijplijn geen parameter biedt die overeenkomt met "activityParameterName."
Tijdens een pipeline-uitvoering kun je de instellingen voor de activiteiten van het pipelinenotitieboek als volgt configureren:
Als u de sessieconfiguratie wilt wijzigen, moeten de naam van de parameters van de activiteit 'notitieblok' in de pijplijn hetzelfde zijn als parameterName
in het notitieblok. 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 %%configure hebt gebruikt, kunt u meer foutinformatie vinden door de magic-cel %%configure 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 invoeropdrachten af te drukken die in de huidige sessie zijn uitgevoerd, in tegenstelling tot de standaard Jupyter Ipython-opdracht die werkt voor contexten in meerdere talen binnen notebooks.
%history [-n] [range [range ...]]
Voor opties:
- -n: Uitvoeringsnummer afdrukken.
Waar het bereik kan zijn als volgt:
- N: Druk de code van de Nde uitgevoerde cel af.
- M-N: Print code van de Mde tot de Nde uitgevoerde cel.
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 is die aangeeft dat je kunt 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 commando-modus
Actie | Notitieboek sneltoetsen |
---|---|
Voer de huidige cel uit en selecteer hieronder | Shift+Enter |
Voer de huidige cel uit en plaats een invoeging hieronder. | Alt + Enter |
Huidige cel uitvoeren | Ctrl+Enter |
Cel erboven selecteren | Omhoog |
Selecteer de cel hieronder | Omlaag |
Vorige cel selecteren | K |
Volgende cel selecteren | J |
Cel erboven invoegen | Een |
Cel hieronder invoegen | B |
Geselecteerde cellen verwijderen | Shift + D |
Overschakelen naar bewerkingsmodus | Invoeren |
Sneltoetsen in de bewerkingsmodus
Met behulp van de volgende toetsaanslagen kunt u eenvoudig navigeren en code uitvoeren in Fabric-notebooks in de bewerkingsmodus.
Actie | Notitieboek sneltoetsen |
---|---|
Cursor omhoog verplaatsen | Omhoog |
Cursor omlaag verplaatsen | Omlaag |
Ongedaan | Ctrl+Z |
Opnieuw | Ctrl+Y |
Opmerking of opmerking ongedaan maken | Ctrl + / Opmerking: Ctrl + K + C Verwijder opmerkingen: Ctrl + K + U |
Verwijder het woord vóór | Ctrl+Backspace |
Verwijder het woord na | Ctrl+Delete |
Ga naar het begin van de cel | Ctrl + Home |
Ga naar het einde van de cel | Ctrl+End |
Ga één woord naar links | Ctrl + links |
Ga één woord naar rechts | Ctrl+rechts |
Alles selecteren | Ctrl + A |
Inspringen | Ctrl+] |
Dedent | Ctrl+[ |
Overschakelen naar opdrachtmodus | Esc |
Om alle sneltoetsen te vinden, selecteert u Weergave op het lint van het notitieblok, en selecteert u Toetsbindingen.