Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
De Python-notebook is een nieuwe ervaring die is gebouwd op de Fabric notebook. Het is een veelzijdig en interactief hulpprogramma dat is ontworpen voor gegevensanalyse, 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.
Met een Python-notebook kunt u het volgende krijgen:
Meerdere ingebouwde Python-kernels: Python-notebooks bieden een pure Python-coderingsomgeving zonder Spark, met twee versies van Python-kernel: Python 3.10 en 3.11 die standaard beschikbaar zijn en de systeemeigen ipython-functies die worden ondersteund, zoals iPyWidget, magic-opdrachten.
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 & Resources zijn systeemeigen beschikbaar: De volledige functionaliteit van de Fabric Lakehouse samen met ingebouwde notebookresources is beschikbaar in de Python notebook. Met deze functie kunnen gebruikers de gegevens eenvoudig naar een python Notebook brengen. Probeer gewoon te slepen en neer te zetten om de codefragmenten op te halen.
Mix programmeren met T-SQL-: Python-notebook biedt een eenvoudige manier om te communiceren met Data Warehouse- en SQL-eindpunten in Explorer. Met behulp van notebookutils-gegevensconnector kunt u eenvoudig de T-SQL-scripts uitvoeren in de context van Python.
ondersteuning voor populaire dataanalysebibliotheken: Python-notebooks worden geleverd met vooraf geïnstalleerde bibliotheken zoals DuckDB, Polars en Scikit-learn, die een uitgebreide toolkit bieden voor gegevensbewerking, analyse en machine learning.
Geavanceerde intellisense: Python-notebook gebruikt Pylance als de intellisense-engine, samen met andere aangepaste taalservice van Fabric, die bedoeld is om geavanceerde coderingservaring te bieden voor notebookontwikkelaars.
NotebookUtils & Semantische koppeling: Krachtige API-toolkits stellen u in staat om eenvoudig Fabric- en Power BI-mogelijkheden te gebruiken met een code-first-ervaring.
uitgebreide visualisatiemogelijkheden: behalve de populaire uitgebreide dataframe-previewfunctie 'Tabel' en 'Grafiek', ondersteunen we 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.
Common Capabilities for Fabric Notebook: alle functies op notebookniveau zijn natuurlijk van toepassing op Python-notebooks, zoals bewerkingsfuncties, automatisch opslaan, samenwerken, delen en machtigingsbeheer, Git-integratie, import/export, enzovoort.
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.
Toegang krijgen tot Python Notebook
Nadat u een Fabric Notebook hebt geopend, kunt u overschakelen naar Python in de vervolgkeuzelijst taal op het tabblad Start en de volledige notebookset converteren naar Python.
U kunt de meeste algemene functies op notitieblokniveau gebruiken. Raadpleeg de How to use Microsoft Fabric notebooks en Develop, execute, and manage Microsoft Fabric notebooks voor meer gedetailleerde informatie over het gebruik. Hier vermelden we enkele belangrijke mogelijkheden die specifiek zijn voor Python-scenario's.
Python-notebooks starten
Python-notebook ondersteunt meerdere manieren om taken uit te voeren:
- Interactieve uitvoering: U kunt een Python-notebook interactief uitvoeren als een systeemeigen Jupyter-notebook.
- Planningsuitvoering: U kunt de lichtgewicht scheduler-ervaring op de pagina met notebookinstellingen gebruiken om Python-notebook als batchtaak uit te voeren.
- Pijplijnuitvoering: U kunt Python-notebooks organiseren als notebookactiviteiten in Pipeline. Er wordt een momentopname gegenereerd 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. Er wordt een momentopname gegenereerd nadat de referentie-uitvoering is voltooid. - Openbare API-uitvoering: u kunt de uitvoering van uw Python-notebook plannen met de notebook-uitvoering via de openbare API. Controleer of de taal- en kerneigenschappen in de metagegevens van de lading van de openbare API correct zijn ingesteld.
U kunt de details van de uitvoering van de Python-notebooktaak controleren op het linttabblad Uitvoeren ->Alle uitvoeringen weergeven.
Gegevensinteractie
U kunt werken met Lakehouse, Warehouses, SQL-eindpunten en ingebouwde resources in Python-notebooks.
Note
- De Python Notebook-runtime is vooraf geïnstalleerd met delta-rs - en duckdb-bibliotheken ter ondersteuning van zowel het lezen als schrijven van Delta Lake-gegevens. Houd er echter rekening mee dat sommige Delta Lake-functies momenteel mogelijk niet volledig worden ondersteund. Raadpleeg de officiële delta-rs - en duckdb-websites voor meer informatie en de nieuwste updates.
- Deltalake(delta-rs) versie 1.0.0 of hoger wordt momenteel niet ondersteund. Blijf op de hoogte.
Lakehouse-interactie
U kunt een Lakehouse als standaard instellen, maar u kunt ook meerdere Lakehouses toevoegen om ze te verkennen en te gebruiken in notebooks.
Als u niet bekend bent met het lezen van de gegevensobjecten zoals deltatabel, sleept u het bestand en de deltatabel naar het notebookcanvas of gebruikt u de gegevens laden in het vervolgkeuzemenu van het object. Notebook voegt automatisch codefragment in de codecel in en genereert code voor het lezen van het doelgegevensobject.
Note
Als u OOM tegenkomt bij het laden van grote hoeveelheden gegevens, gebruikt u DuckDB- of Polars- of PyArrow-gegevensframe in plaats van pandas.
U kunt de schrijfoperatie voor Lakehouse vinden in Blader codefragment ->Schrijf data naar delta tabel.
Interactie met magazijn en mixprogrammering met T-SQL
U kunt datawarehouses of SQL-eindpunten toevoegen vanuit de Warehouse Explorer of Notebook. Op dezelfde manier kunt u de tabellen naar het notitieblokcanvas slepen en neerzetten, of de sneltoetsbewerkingen gebruiken in het dropdownmenu van de tabel. Notebook genereert automatisch codefragment voor u. U kunt de notebookutils.data hulpprogramma's gebruiken om verbinding te maken met Warehouses en de gegevens op te vragen met behulp van de T-SQL-instructie in de context van Python.
Note
SQL-eindpunten zijn hier alleen-lezen-modus.
map met notebook-bronnen
De ingebouwde map Met notebook-resources is systeemeigen beschikbaar in Python Notebook. U kunt eenvoudig communiceren met de bestanden in de ingebouwde map met resources met behulp van Python-code alsof u met uw lokale bestandssysteem werkt. Momenteel wordt de map Omgevingsresource niet ondersteund.
Kernelbewerkingen
Python-notebook ondersteunt momenteel twee ingebouwde kernels, ze zijn Python 3.10 en Python 3.11, de standaard geselecteerde kernel is Python 3.11. u kunt er eenvoudig tussen schakelen.
U kunt de kernel onderbreken, opnieuw opstarten of overschakelen op het tabblad Start van het lint. Het onderbreken van de kernel in Python-notebooks is hetzelfde als het annuleren van cellen in Spark-notebooks.
Abnormale kernelafsluiten zorgt ervoor dat code-uitvoering wordt onderbroken en variabelen verliest, maar de notebooksessie wordt niet gestopt.
Er zijn opdrachten die kunnen leiden tot een kernelcrash. Bijvoorbeeld : quit(), exit().
Bibliotheekbeheer
U kunt de opdrachten %pip en %conda gebruiken voor inline-installaties. De opdrachten ondersteunen zowel openbare bibliotheken als aangepaste bibliotheken.
Voor aangepaste bibliotheken kunt u de lib-bestanden uploaden naar de map Ingebouwde resources. We ondersteunen meerdere typen bibliotheken, waaronder indelingen zoals Wheel (.whl), JAR (.jar), DLL (.dll) en Python (.py). Probeer gewoon naar het bestand te slepen en het codefragment wordt automatisch gegenereerd.
Mogelijk moet u de kernel opnieuw opstarten om de bijgewerkte pakketten te kunnen gebruiken.
Raadpleeg de onderstaande tabel om vergelijkbare opdrachten beter te begrijpen en te gebruiken.
| Command/Syntax | Hoofddoel | Hoe het werkt in Jupyter Notebook | Typische gebruiksscenario's | Notes |
|---|---|---|---|---|
%pip install package |
Python-pakketten installeren | Pip wordt uitgevoerd in de Python-kernel van het notebook | Aanbevolen manier om pakketten te installeren | In Python Notebook geldt hetzelfde als !pip; de kernel wordt niet automatisch opnieuw opgestart |
!pip install package |
Python-pakketten installeren via shell | Pip uitvoeren als een shell-opdracht | Alternatieve manier om pakketten te installeren | In Python Notebook geldt hetzelfde als %pip; de kernel wordt niet automatisch opnieuw opgestart |
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 Notebook
%pipen!piphetzelfde gedrag hebben: beide installeren pakketten in de huidige kernelomgeving. De kernel wordt na de installatie niet automatisch opnieuw opgestart. - Als u de kernel opnieuw moet opstarten (bijvoorbeeld nadat u bepaalde pakketten hebt geïnstalleerd), is het raadzaam om deze te gebruiken
notebookutils.session.restartPython()in plaats vanimport sys; sys.exit(0).-
notebookutils.session.restartPython()is een officiële API die wordt verpaktsys.exit(0)en veiliger en compatibeler is in notebookomgevingen.
-
- Het wordt niet aanbevolen om rechtstreeks te gebruiken
sys.exit(0), tenzij dat nodig is.
Bewaking van realtime resourcegebruik in Python-notebook
Belangrijk
Deze functie is beschikbaar als preview-versie.
Met het deelvenster Resource monitor kunt u kritieke runtime-informatie bijhouden, zoals sessieduur, rekentype en metrische gegevens over realtimeresources, waaronder CPU- en geheugenverbruik, rechtstreeks in uw notebook. 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 deelvenster Resource monitor wordt automatisch weergegeven, met een geïntegreerde bewakingservaring voor Python-code in Fabric-notebooks.
Sessieconfiguratie magic-opdracht
Net als bij het personaliseren van een Spark-sessieconfiguratie in notebook, kunt u ook %%configure in Python-notebook gebruiken. Python-notebook ondersteunt het aanpassen van de grootte van rekenknooppunten, koppelpunten en standaard lakehouse van de notebooksessie. Ze kunnen worden gebruikt in zowel interactieve notitieboek- als pijplijnnotitieboekactiviteiten. U wordt aangeraden %%configure opdracht aan het begin van uw notitieblok te gebruiken of u moet de notebooksessie opnieuw starten om de instellingen van kracht te laten worden.
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>"
},
],
}
U kunt de update van rekenresources op de statusbalk van het notitieblok bekijken en het CPU- en geheugengebruik van het rekenknooppunt in realtime bewaken.
NotebookUtils
Notebook Utilities (NotebookUtils) is een ingebouwd pakket om u te helpen eenvoudig algemene taken uit te voeren in Fabric Notebook. Deze is vooraf geïnstalleerd in Python Runtime. U kunt NotebookUtils gebruiken om te werken met bestandssystemen, om omgevingsvariabelen op te halen, notebooks aan elkaar te koppelen, toegang te krijgen tot externe opslag en om met geheimen te werken.
U kunt beschikbare API's weergeven notebookutils.help() en ook hulp krijgen bij methoden of verwijzen naar de doc NotebookUtils.
Hulpprogramma's voor gegevens
Note
Momenteel is de functie beschikbaar als preview-versie.
U kunt notebookutils.data hulpprogramma's gebruiken om verbinding te maken met de opgegeven gegevensbron en vervolgens gegevens te lezen en op te vragen met behulp van de 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 hulpprogramma's voor gegevens in NotebookUtils zijn voorlopig alleen beschikbaar in Python-notebook.
Codefragmenten bekijken
U kunt nuttige Python-codefragmenten vinden in het codefragment> op tabblad Bladeren, nieuwe Python-voorbeelden zijn nu beschikbaar. U kunt van het Python-codefragment leren om het notebook te gaan verkennen.
Semantische koppeling
Semantische koppeling is een functie waarmee u een verbinding tot stand kunt brengen tussen semantische modellen en Synapse Data Science in Microsoft Fabric. Het wordt systeemeigen ondersteund in Python-notebooks. BI-technici en Power BI-ontwikkelaars kunnen eenvoudig verbinding maken met Semantic Link en het semantische model beheren. Lees het openbare document voor meer informatie over de Semantische koppeling.
Visualization
Naast het tekenen van grafieken met bibliotheken kunt u met de ingebouwde visualisatiefunctie DataFrames omzetten in gegevensvisualisaties met uitgebreide indeling. U kunt de functie display() op dataframes gebruiken om de uitgebreide gegevensframetabelweergave en grafiekweergave te produceren.
Note
De grafiekconfiguraties worden bewaard in Python-notebook, wat betekent dat na het opnieuw uitvoeren van de codecel, als het doeldataframeschema niet is gewijzigd, de opgeslagen grafieken nog steeds behouden blijven.
Code IntelliSense
Python-notebook maakt ook gebruik van Pylance als taalserver. Zie Python-ontwikkeling verbeteren met Pylance voor meer informatie.
Mogelijkheden voor gegevenswetenschap
Ga naar Data Science-documentatie in Microsoft Fabric voor meer informatie over data science en AI in Fabric. Hier vermelden we enkele belangrijke data science-functies die native worden ondersteund in de Python notebook.
Data Wrangler: Data Wrangler is een hulpprogramma op basis van een notebook dat een gebruiksvriendelijke interface biedt voor exploratieve 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 gegevens opschonen, gegevenstransformatie en integratie, waardoor gegevensvoorbereiding met Data Wrangler wordt versneld.
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 in Microsoft Fabric bevat automatische logboekregistratie. Hierdoor wordt de hoeveelheid code die nodig is voor het automatisch vastleggen van de parameters, metrische gegevens en items van een machine learning-model tijdens de training aanzienlijk verminderd.
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 Science- en Data Engineering-notebooks is een AI-assistent waarmee u gegevens kunt analyseren en visualiseren. Het werkt met Lakehouse-tabellen, Power BI-gegevenssets en pandas/spark-dataframes, en biedt antwoorden en codefragmenten rechtstreeks in het notebook. U kunt het Copilot-chatvenster en char-magics in notebook gebruiken en de AI biedt antwoorden of code om naar uw notebook te kopiëren.
Bekende beperkingen voor openbare preview
Live pool-ervaring is niet gegarandeerd bij elke uitvoering van een Python-notebook. De sessie kan tot 3 minuten duren om te starten als de notebook run de live pool niet treft. Naarmate het gebruik van Python-notebooks groeit, verhogen onze intelligente poolmethoden geleidelijk de toewijzing van livepools om aan de vraag te voldoen.
Omgevingsintegratie is niet beschikbaar in de Python-notebook in de openbare previewversie.
Het instellen van de sessie-timeout is op dit moment niet beschikbaar.
Copilot kan spark-instructie genereren, die mogelijk niet uitvoerbaar is in Python-notebook.
Momenteel wordt Copilot op Python-notebook niet volledig ondersteund in verschillende regio's. Het implementatieproces is nog steeds aan de gang, blijf op de hoogte terwijl we ondersteuning in meer regio's blijven uitrollen.