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.
Het Python-notebook is een nieuwe ervaring die bovenop notebooks in Fabric is gebouwd. Het is een veelzijdig en interactief hulpmiddel ontworpen voor data-analyse, visualisatie en machine learning. Het biedt een naadloze ontwikkelervaring voor het schrijven en uitvoeren van Python-code. Deze mogelijkheid maakt het een essentieel hulpprogramma voor gegevenswetenschappers, analisten en BI-ontwikkelaars, met name voor verkenningstaken waarvoor geen big data en gedistribueerde computing nodig zijn.
Door een Python-notebook te gebruiken, krijg je:
Meerdere ingebouwde Python-kernels: Python-notebooks bieden een pure Python-codeeromgeving zonder Spark, met drie ingebouwde Python-kernelversies: Python 3.10, Python 3.11 en Python 3.12. De omgeving ondersteunt native IPython-functies zoals iPyWidget en magic-commando's.
Rendabel: het nieuwe Python-notebook biedt kostenbesparende voordelen door standaard op één knooppuntcluster met 2vCores/16 GB geheugen uit te voeren. Deze installatie zorgt voor efficiënt resourcegebruik voor projecten voor gegevensverkenning met een kleinere gegevensgrootte.
Lakehouse en bronnen zijn native beschikbaar: The Fabric Lakehouse samen met de ingebouwde notebook-bronnen is volledig beschikbaar in Python notebook. Deze functie stelt gebruikers in staat om de data eenvoudig naar het Python Notebook te brengen, probeer gewoon drag and drop om het codefragment te krijgen.
Combineer programmeren met T-SQL: Python notebook biedt een gemakkelijke manier om te communiceren met Data Warehouse- en SQL-analyse-endpoints in Explorer. Door notebookutils data connector te gebruiken, kun je de T-SQL-scripts eenvoudig uitvoeren in de context van Python.
Ondersteuning voor populaire data-analytische bibliotheken: Python-notebooks worden geleverd met vooraf geïnstalleerde bibliotheken zoals DuckDB, Polars en Scikit-learn, wat een uitgebreide toolkit biedt voor datamanipulatie, analyse en machine learning.
Advanced IntelliSense: Python notebook neemt Pylance toe als IntelliSense-engine, samen met andere aangepaste Fabric-taaldiensten, met als doel geavanceerde codeerervaring te bieden aan notebookontwikkelaars.
NotebookUtils en Semantic Link: Krachtige API-toolkits stellen je in staat om eenvoudig Fabric- en Power BI-mogelijkheden te gebruiken met code-first ervaring.
Rijke visualisatiemogelijkheden: Behalve de populaire rich dataframe preview-functie 'Table' en 'Chart'-functie, ondersteunt het ook populaire visualisatiebibliotheken zoals Matplotlib, Seaborn en Plotly. De PowerBIClient ondersteunt deze bibliotheken ook om gebruikers te helpen beter inzicht te krijgen in gegevenspatronen en inzichten.
Veelvoorkomende mogelijkheden voor Fabric Notebook: Alle functies op Notebook-niveau zijn van nature toepasbaar voor Python notebooks, zoals bewerkingsfuncties, AutoSave, samenwerking, delen en permissiebeheer, Git-integratie, import/export en meer.
Full stack Data Science Capabilities: de geavanceerde low-code toolkit Data Wrangler, het machine learning-framework MLFlow en de krachtige Copilot zijn allemaal beschikbaar binnen Python-notebooks.
Hoe toegang te krijgen tot een Python-notebook
Nadat je een notebook in Fabric hebt geopend, kun je in het taalmenu op het Home-tabblad overschakelen naar Python en de hele notebook-setup omzetten naar Python.
De meeste veelvoorkomende functies worden op notebookniveau ondersteund. Voor meer informatie, zie Hoe je Fabric-notebooks gebruikt en Fabric-notebooks ontwikkelt, uitvoert en beheert. Dit artikel vermeldt enkele belangrijke mogelijkheden die specifiek zijn voor Python-scenario's.
Python-notebooks starten
Python-notebooks ondersteunen meerdere taken uitvoeringsmethoden:
- Interactieve uitvoering: U kunt een Python-notebook interactief uitvoeren als een systeemeigen Jupyter-notebook.
- Schedule run: Je kunt de lightweight scheduler-ervaring op de notebookinstellingenpagina gebruiken om een Python-notebook als batchjob uit te voeren.
- Pijplijnuitvoering: U kunt Python-notebooks organiseren als notebookactiviteiten in Pipeline. Het proces genereert een snapshot na de uitvoering van de taak.
-
Referentie-uitvoering: U kunt
notebookutils.notebook.run()ofnotebookutils.notebook.runMultiple()gebruiken om Python-notebooks in een ander Python-notebook uit te voeren als batchjob. Het proces genereert een snapshot nadat de referentierun is voltooid. -
%run: Je kunt
%runandere notebooks binnen dezelfde uitvoeringscontext refereren en uitvoeren, zodat je direct functies kunt aanroepen en variabelen die in die notebooks zijn gedefinieerd kunt hergebruiken. Zie de documentatie over hoe je een notebook kunt refereren en uitvoeren voor meer informatie. - Openbare API-uitvoering: u kunt plannen dat uw Python-notebook wordt uitgevoerd met de notebook-run openbare API. De Job Scheduler-API ondersteunt geparameteriseerde uitvoeringen en retourneert afsluitwaarden van notebookuitvoeringen. Afsluitwaarden kunnen worden gebruikt voor voorwaardelijke orkestratie en het signaleren van uitkomsten bij de orkestratie van Python-notebooks in automatiserings- en CI/CD-scenario's. Zorg ervoor dat de taal- en kerneleigenschappen in notebookmetagegevens van de openbare API-nettolading correct zijn ingesteld. Parameterwaarden die via de openbare API worden doorgegeven, zijn tijdens runtime beschikbaar voor het Python-notebook met behulp van het standaardpatroon voor parametertoegang dat wordt gebruikt in Fabric-notebooks. Zie Notebooks beheren en uitvoeren in Fabric met API's voor meer informatie over de structuur van verzoeken voor parameters en het ophalen van uitvoerwaarden. U kunt de uitvoeringsstatus controleren en taakexemplaren annuleren via de Job Scheduler-API, wat een aanvulling vormt op de in-UI Weergave van alle uitvoeringen .
Note
Verificatie van de service-principal wordt ondersteund voor de REST API voor items (CRUD voor notebooks) en de Job Scheduler-API (uitvoering), waardoor beveiligde automatisering zonder toezicht en CI/CD voor Python-notebooks mogelijk wordt. Voeg de service principal toe aan de werkruimte met een passende rol om deze API's te gebruiken.
U kunt de details van de uitvoering van de Python-notebooktaak controleren op het linttabblad Uitvoeren ->Alle uitvoeringen weergeven.
Note
Momenteel ondersteunt het %run alleen het refereren naar notitieboekitems op Python notitieboeken, niet codemodules (zoals .py bestanden) vanuit de map notitieboekbronnen.
Gegevensinteractie
Je kunt interactie hebben met lakehouses, warehouses, SQL-analytics-endpoints en ingebouwde resources-mappen op Python-notebooks.
Note
De runtime van het Python-notebook wordt vooraf geleverd met delta-rs en duckdb-bibliotheken om zowel het lezen als schrijven van Delta Lake-data te ondersteunen. Sommige functies van Delta Lake zijn echter mogelijk niet volledig ondersteund. Voor meer details en de laatste updates, zie de delta-rs en de DuckDB-documentatie .
Lakehouse-interactie
Je kunt een lakehouse als standaard instellen, of je kunt ook meerdere lakehouses toevoegen om te verkennen en te gebruiken in notitieboeken.
Als je niet bekend bent met het lezen van dataobjecten zoals de Delta-tabel, probeer dan het bestand en de Delta-tabel naar het notitieboekdoek te slepen en neerzetten, of gebruik de optie Data laden in het dropdownmenu van het object. Het notebook voegt automatisch een codefragment in in een codecel en genereert code om het doelobject te lezen.
Note
Als je OOM tegenkomt bij het laden van een grote hoeveelheid data, probeer dan DuckDB, Polars of PyArrow dataframe te gebruiken in plaats van pandas.
Je kunt de write lakehouse-operatie vinden in Browse code snippet ->Write data to Delta table.
Interactie met magazijn en mixprogrammering met T-SQL
Je kunt warehouses of SQL-analytics-endpoints toevoegen vanuit de Warehouse Explorer van het notebook. Op dezelfde manier kunt u de tabellen naar het notitieblokcanvas slepen en neerzetten, of de sneltoetsbewerkingen gebruiken in het dropdownmenu van de tabel. Het notitieboek genereert automatisch een codefragment voor je. U kunt de notebookutils.data hulpprogramma's gebruiken om verbinding te maken met Warehouses en de gegevens op te vragen met behulp van T-SQL-instructies in de context van Python.
Note
SQL-analytics-eindpunten zijn alleen-leesbaar.
map met notebook-bronnen
De ingebouwde resource map Notebook resources is native beschikbaar op Python notebooks. Je kunt eenvoudig met de bestanden in de ingebouwde resources map interageren door Python-code te gebruiken alsof je met je lokale bestandssysteem werkt. Momenteel wordt de map Environment resource niet ondersteund.
Kernelbewerkingen
Python-notebooks ondersteunen drie ingebouwde kernels: Python 3.10, Python 3.11 en Python 3.12. De standaard geselecteerde kernel is Python 3.12. Je kunt er makkelijk tussen wisselen.
Je kunt de kernel onderbreken, herstarten of wisselen op het Home-tabblad van het lint. Het onderbreken van de kernel in Python-notebooks is hetzelfde als het annuleren van een cel in een Spark-notebook.
Een abnormale kernel-exit zorgt ervoor dat de code-uitvoering wordt onderbroken en variabelen verloren gaan, maar het stopt de notebook-sessie niet.
Sommige commando's kunnen ertoe leiden dat de kernel sterft. Bijvoorbeeld, quit() en exit().
Voor de ondersteuningslevenscyclus van elke Python-kernelversie, inclusief einddata en migratiestappen, zie Python notebook runtime en kernel lifecycle in Fabric.
Bibliotheekbeheer
Gebruik de %pip- en %conda-opdrachten voor inline-installaties. Deze commando's ondersteunen zowel openbare bibliotheken als aangepaste bibliotheken.
Voor aangepaste bibliotheken upload je de bibliotheekbestanden naar de map Built-in resources . Het platform ondersteunt meerdere soorten bibliotheken, waaronder formaten zoals Wheel (.whl), JAR (.jar), DLL (.dll) en Python (.py). Sleep het bestand gewoon en zet het neer, en het codefragment wordt automatisch gegenereerd.
Je moet misschien de kernel opnieuw starten om de bijgewerkte pakketten te gebruiken.
Om vergelijkbare commando's beter te begrijpen en te gebruiken, zie de volgende tabel.
| Command/Syntax | Hoofddoel | Hoe het werkt in Jupyter Notebook | Typisch gebruiksscenario | Notes |
|---|---|---|---|---|
%pip install package |
Python-pakketten installeren | Voert pip uit in de Python kernel van het notebook | Aanbevolen manier om pakketten te installeren | In Python-notebooks wordt dezelfde als !pip; de kernel niet automatisch opnieuw opstart |
!pip install package |
Python-pakketten installeren via shell | Pip uitvoeren als een shell-opdracht | Alternatieve manier om pakketten te installeren | In Python-notebooks wordt dezelfde als %pip; de kernel niet automatisch opnieuw opstart |
import sys; sys.exit(0) |
Start de notebook-kernel opnieuw op | De kernel onmiddellijk opnieuw opstarten | De kernel programmatisch opnieuw opstarten | Wist alle variabelen en statussen; wordt niet aanbevolen om rechtstreeks te gebruiken |
notebookutils.session.restartPython() |
Start de notebook-kernel opnieuw op | Oproepen sys.exit(0) intern |
Aanbevolen manier om de kernel opnieuw op te starten | Officiële API, veiliger en compatibeler dan rechtstreeks gebruiken sys.exit(0) |
Note
- In Python-notebooks vertonen
!pipze hetzelfde gedrag:%pipbeide installeren pakketten in de omgeving van de huidige kernel, en geen van beide start de kernel automatisch opnieuw op na de installatie. - Als je de kernel opnieuw moet opstarten (bijvoorbeeld na het installeren van bepaalde pakketten), gebruik
notebookutils.session.restartPython()dan in plaats vanimport sys; sys.exit(0).-
notebookutils.session.restartPython()is een officiële API diesys.exit(0)omhult, en die veiliger is en beter compatibel is in notebookomgevingen.
-
- Gebruik
sys.exit(0)niet direct, tenzij dat nodig is.
Bewaking van realtime resourcegebruik in Python-notebook
Belangrijk
Deze functie is beschikbaar als preview-versie.
Door gebruik te maken van het resource monitor-paneel kun je kritieke runtime-informatie zoals sessieduur, rekentype en realtime resource-metrics, inclusief CPU- en geheugenverbruik, direct binnen je notebook bijhouden. Deze functie biedt een direct overzicht van uw actieve sessie en de resources die worden gebruikt.
De resourcemonitor verbetert de zichtbaarheid van de wijze waarop Python-workloads systeemresources gebruiken. Het helpt u prestaties te optimaliseren, kosten te beheren en het risico op out-of-memory fouten (OOM) te verminderen. Door metrische gegevens in realtime te bewaken, kunt u resource-intensieve bewerkingen identificeren, gebruikspatronen analyseren en weloverwogen beslissingen nemen over het schalen of wijzigen van code.
Als u deze wilt gaan gebruiken, stelt u de notebooktaal in op Python en start u een sessie. U kunt de monitor vervolgens openen door te klikken op de rekenresources in de statusbalk van het notitieblok of door resourcegebruik weergeven te selecteren op de werkbalk. Het resource monitor-paneel verschijnt automatisch, wat een geïntegreerde monitoringservaring biedt voor Python-code in Fabric-notebooks.
Sessieconfiguratie magic-opdracht
Net als het personaliseren van een Spark-sessieconfiguratie in een notebook, kun je %%configure ook gebruiken in een Python notebook. Python-notebooks ondersteunen het aanpassen van de grootte van de rekenknoop, mountpunten en de standaard lakehouse van de notebooksessie. Je kunt deze instellingen gebruiken in zowel interactieve notitieboeken als pipeline-notitieboekactiviteiten. Gebruik het %%configure commando aan het begin van je notitieboek, anders moet je de notitieboeksessie opnieuw starten om de instellingen te laten werken.
Dit zijn de ondersteunde eigenschappen in Python Notebook %%configure:
%%configure -f
{
"vCores": 4, // Recommended values: [4, 8, 16, 32, 64], Fabric will allocate matched memory according to the specified vCores.
"defaultLakehouse": {
// Will 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>"
},
],
}
Je kunt de update van rekenbronnen bekijken op de statusbalk van het notebook en het CPU- en geheugengebruik van de rekenknoop in realtime monitoren.
Note
API-geactiveerde uitvoeringen honoreren de sessieconfiguratie, zoals compute vCores, en defaultLakehouse opgegeven via notebookmetagegevens of %%configure. De Job Scheduler API ondersteunt ook het selecteren van het doel-lakehouse en de omgeving tijdens runtime. Zie Notebooks beheren en uitvoeren in Fabric met API's voor meer informatie over de payloadvelden.
NotebookUtils
Notebook Utilities (NotebookUtils) is een ingebouwd pakket dat je helpt om eenvoudige taken in Fabric Notebook uit te voeren. Het is vooraf geïnstalleerd in de Python-runtime. Gebruik NotebookUtils om met bestandssystemen te werken, omgevingsvariabelen op te halen, notebooks aan elkaar te koppelen, externe opslag te benaderen en met secrets te werken.
Gebruik notebookutils.help() het om beschikbare API's te vermelden en hulp te krijgen met methoden. Voor meer informatie, zie de NotebookUtils-documentatie.
Hulpprogramma's voor gegevens
Note
Momenteel is de functie beschikbaar als preview-versie.
Gebruik de hulpprogramma's notebookutils.data om verbinding te maken met een databron. Vervolgens kun je data lezen en opvragen met een T-SQL-instructie.
Voer de volgende opdracht uit om een overzicht te krijgen van de beschikbare methoden:
notebookutils.data.help()
Output:
Help on module notebookutils.data in notebookutils:
NAME
notebookutils.data - Utility for read/query data from connected data sources in Fabric
FUNCTIONS
connect_to_artifact(artifact: str, workspace: str = '', artifact_type: str = '', **kwargs)
Establishes and returns an ODBC connection to a specified artifact within a workspace
for subsequent data queries using T-SQL.
:param artifact: The name or ID of the artifact to connect to.
:param workspace: Optional; The workspace in which the provided artifact is located, if not provided,
use the workspace where the current notebook is located.
:param artifactType: Optional; The type of the artifact, Currently supported type are Lakehouse, Warehouse and MirroredDatabase.
If not provided, the method will try to determine the type automatically.
:param **kwargs Optional: Additional optional configuration. Supported keys include:
- tds_endpoint : Allow user to specify a custom TDS endpoint to use for connection.
:return: A connection object to the specified artifact.
:raises UnsupportedArtifactException: If the specified artifact type is not supported to connect.
:raises ArtifactNotFoundException: If the specified artifact is not found within the workspace.
Examples:
sql_query = "SELECT DB_NAME()"
with notebookutils.data.connect_to_artifact("ARTIFACT_NAME_OR_ID", "WORKSPACE_ID", "ARTIFACT_TYPE") as conn:
df = conn.query(sql_query)
display(df)
help(method_name: str = '') -> None
Provides help for the notebookutils.data module or the specified method.
Examples:
notebookutils.data.help()
notebookutils.data.help("connect_to_artifact")
:param method_name: The name of the method to get help with.
DATA
__all__ = ['help', 'connect_to_artifact']
FILE
/home/trusted-service-user/jupyter-env/python3.10/lib/python3.10/site-packages/notebookutils/data.py
Query's uitvoeren op gegevens uit Lakehouse
conn = notebookutils.data.connect_to_artifact("lakehouse_name_or_id", "optional_workspace_id", "optional_lakehouse_type")
df = conn.query("SELECT * FROM sys.schemas;")
Query's uitvoeren op gegevens uit warehouse
conn = notebookutils.data.connect_to_artifact("warehouse_name_or_id", "optional_workspace_id", "optional_warehouse_type")
df = conn.query("SELECT * FROM sys.schemas;")
Query's uitvoeren op gegevens uit SQL-database
conn = notebookutils.data.connect_to_artifact("sqldb_name_or_id", "optional_workspace_id", "optional_sqldatabase_type")
df = conn.query("SELECT * FROM sys.schemas;")
Note
De Data-hulpprogramma's in NotebookUtils zijn voorlopig alleen beschikbaar op Python-notebooks.
Codefragmenten bekijken
Je kunt nuttige Python-codefragmenten vinden op het tabblad Bewerken door te kiezen op Browse code snippet. Nieuwe Python-voorbeelden zijn nu beschikbaar. Begin met het verkennen van het notebook en leer aan de hand van de Python-codefragmenten.
Semantische koppeling
Semantische link is een functie die je kunt gebruiken om semantische modellen en Synapse Data Science te verbinden. Python-notebooks ondersteunen deze functie nativ. BI-ingenieurs en Power BI-ontwikkelaars kunnen semantische koppelingen gebruiken om semantische modellen eenvoudig te verbinden en beheren. Voor meer informatie, zie het openbare document.
Visualization
Naast het tekenen van grafieken met bibliotheken kunt u met de ingebouwde visualisatiefunctie DataFrames omzetten in gegevensvisualisaties met uitgebreide indeling. Gebruik de display() -functie op dataframes om de rijke dataframe-tabelweergave en grafiekweergave te genereren.
Note
Het Python-notebook bewaart de grafiekconfiguraties. Na het opnieuw uitvoeren van de codecel, als het doeldataframe-schema niet verandert, blijven de opgeslagen grafieken behouden.
Code IntelliSense
Python-notebooks gebruiken ook Pylance als taalserver. Voor meer informatie, zie Enhance Python development with Pylance.
Mogelijkheden voor gegevenswetenschap
Voor meer informatie over data science en AI-ervaringen in Fabric, zie Data Science-documentatie in Fabric. Dit artikel somt enkele belangrijke functies voor data science op die standaard worden ondersteund door Python-notebooks.
Data Wrangler: Data Wrangler is een op notitieboeken gebaseerde tool die een meeslepende interface biedt voor verkennende data-analyse. Deze functie combineert een rasterachtige gegevensweergave met dynamische samenvattingsstatistieken, ingebouwde visualisaties en een bibliotheek met algemene bewerkingen voor het opschonen van gegevens. Het biedt data-opschoning, datatransformatie en integratie, wat de datavoorbereiding versnelt door gebruik te maken van Data Wrangler.
MLflow: Een machine learning-experiment is de primaire eenheid van de organisatie en controle voor alle gerelateerde machine learning-uitvoeringen. Een uitvoering komt overeen met één uitvoering van modelcode.
Fabric Auto Logging: Synapse Data Science omvat autologging, wat de hoeveelheid code die nodig is om automatisch de parameters, metrics en items van een machine learning-model tijdens training automatisch te loggen, aanzienlijk vermindert.
Autologging breidt de mogelijkheden voor MLflow-tracering uit. Autoregistratie kan verschillende metrieken vastleggen, waaronder nauwkeurigheid, verlies, F1-score en aangepaste metrieken die u definieert. Door autologging te gebruiken, kunnen ontwikkelaars en gegevenswetenschappers eenvoudig de prestaties van verschillende modellen en experimenten bijhouden en vergelijken zonder handmatig bij te houden.
Copilot: Copilot voor Data Engineering- en Data Science-notebooks is een AI-assistent waarmee u gegevens kunt analyseren en visualiseren. Copilot is onmiddellijk contextbewust zonder dat u een sessie hoeft te starten. Het begrijpt de werkruimte, gekoppelde Lakehouse-schema's, tabellen en bestanden, notebookstructuur en runtimestatus, en kan worden uitgevoerd in de hele notebookwerkstroom.
Copilot ondersteunt notebook-wijde, meerstapsmogelijkheden: het kan code genereren, refactoren, samenvatten en valideren over meerdere cellen en stappen in Python-notebooks. U kunt het Copilot-chatvenster en de chatopdrachten, zoals
/fixin het notitieblok, gebruiken.Wanneer een cel mislukt, wordt met Copilot een foutoverzicht, hoofdoorzaakanalyse en aanbevolen oplossingen weergegeven, met een optie voor het automatisch toepassen van codewijzigingen na het weergeven van een goedkeuringsverschil. U kunt de
/fixopdracht in Copilot-chat ook gebruiken voor gerichte diagnostische gegevens op een specifieke cel of het hele notitieblok.
Bekende beperkingen
De live pool-ervaring is niet gegarandeerd voor elke Python-notebookuitvoering. De starttijd van de sessie kan oplopen tot drie minuten als de notebookuitvoering geen gebruikmaakt van de livepool. Naarmate het gebruik van Python-notebooks toeneemt, verhogen intelligente poolingmethoden geleidelijk de live pool-toewijzing om aan de vraag te voldoen.
Omgevingsintegratie is niet beschikbaar op Python-notebooks.
Time-out voor sessie instellen is niet beschikbaar.
Copilot heeft de contextbewustheid en hulp voor Python-notebooks verbeterd, maar het kan af en toe Spark-code voorstellen die niet rechtstreeks uitvoerbaar is in een Python-notebook. De Copilot-oplossing is van toepassing op mislukte Python-cellen; Diagnostiek van Spark-taken valt buiten de scope voor uitvoeringen van pure Python.
Momenteel wordt Copilot op Python-notebooks in verschillende regio's niet volledig ondersteund. Het uitrolproces is nog gaande. Blijf op de hoogte terwijl de steun in meer regio's wordt uitgerold.