Python-ervaring gebruiken in Notebook
Notitie
Momenteel is de functie beschikbaar als preview-versie.
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. Dit 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.
Kosteneffectief: het nieuwe Python-notebook biedt kostenbesparende voordelen door standaard uitgevoerd te worden op een enkel knooppuntcluster met 2 vCores/16 GB geheugen. Dit 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. Hierdoor kunnen gebruikers de gegevens eenvoudig naar een Python-notebook brengen. Probeer & te slepen en neer te zetten om de code 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 gericht is op geavanceerde coderingservaring 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 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 uitvoeren
Python-notebook ondersteunt meerdere manieren om taken uit te voeren:
- Interactief uitvoeren: Je kunt een Python-notebook interactief uitvoeren zoals een native Jupyter-notebook.
- Uitvoering plannen: U kunt de lichtgewicht scheduler-ervaring op de pagina met notebookinstellingen gebruiken om een Python-notebook als batchtaak uit te voeren.
- Pipeline-uitvoering: u kunt Python-notebooks organiseren als notebookactiviteiten in Gegevenspijplijn. Er wordt een momentopname gegenereerd na de uitvoering van de taak.
-
Verwijzingsuitvoering: u kunt
notebookutils.notebook.run()
ofnotebookutils.notebook.runMultiple()
gebruiken om het uitvoeren van Python-notebooks in een ander Python-notebook als een batchtaak te refereren. 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.
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 notitieblokcanvas 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.
Notitie
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.
Notitie
SQL-eindpunten zijn hier alleen-lezen-modus.
map met notebook-bronnen
De Notebook-resources ingebouwde map met 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 opdrachten voor %pip en %conda voor inline-installaties gebruiken. De opdrachten ondersteunen zowel openbare bibliotheken als aangepaste bibliotheken.
Voor aangepaste bibliotheken kunt u de lib-bestanden uploaden naar de ingebouwde bronnen map. We ondersteunen meerdere typen bibliotheken, zoals .whl, .jar, .dll, .py, enzovoort. Probeer gewoon te slepen met&en neer te zetten in het bestand en het codefragment wordt automatisch gegenereerd.
Mogelijk moet u de kernel opnieuw opstarten om de bijgewerkte pakketten te kunnen gebruiken.
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
{
"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 notebookutils.help()
gebruiken om beschikbare API's weer te geven en hulp te krijgen bij methoden of om te verwijzen naar het document NotebookUtils.
Hulpprogramma's voor gegevens
Notitie
- Momenteel is de functie beschikbaar als preview-versie.
- Het API-contract kan in de nabije toekomst veranderen.
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()
Uitvoer:
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 = None) -> pyodbc.Connection
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.
: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:
cursor = conn.cursor()
cursor.execute(sql_query)
rows = cursor.fetchall()
for row in rows:
print(row)
help(method_name=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.11/lib/python3.11/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")
cursor = conn.cursor()
cursor.execute("SELECT * FROM sys.schemas;")
rows = cursor.fetchall()
for row in rows:
print(row)
Query's uitvoeren op gegevens uit warehouse
conn = notebookutils.data.connect_to_artifact("warehouse_name_or_id", "optional_workspace_id", "optional_warehouse_type")
cursor = conn.cursor()
cursor.execute("SELECT * FROM sys.schemas;")
rows = cursor.fetchall()
for row in rows:
print(row)
Notitie
- De Data-hulpprogramma's in NotebookUtils zijn momenteel alleen beschikbaar in Python-notebooks.
- Bekende beperking: voor
connect_to_artifact
API initialiseert het geretourneerdeconn
-object intern een PBI-token om de gebruiker te verifiëren bij het maken van verbinding met de gegevensbron. Het biedt echter geen ondersteuning voor het vernieuwen van tokens. Momenteel is het PBI-token slechts één uur geldig. Elke query die meer dan één uur overschrijdt, mislukt vanwege een vervaldatum van het token.
Codefragmenten bekijken
U kunt nuttige python-codefragmenten vinden op tabblad Bewerken->Bladeren in codefragmenten, nieuwe Python-voorbeelden zijn nu beschikbaar. U kunt leren van het Python-codefragment om te beginnen met het verkennen van het notebook.
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 Semantische koppeling.
Visualisatie
Naast het tekenen van grafieken met bibliotheken kunt u met de ingebouwde visualisatie functie DataFrames omzetten in gegevensvisualisaties met uitgebreide indeling. U kunt de functie display() op dataframes gebruiken om de uitgebreide tabelweergave en grafiekweergave te produceren.
Notitie
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 geïntegreerde Pylance om de Python-coderingservaring te verbeteren, Pylance is de standaardtaalserviceondersteuning voor Python in Visual Studio Code. Het biedt veel gebruiksvriendelijke functies, zoals het markeren van trefwoorden, snelle informatie, het voltooien van code, parametergegevens en detectie van syntaxisfouten. Bovendien heeft Pylance betere prestaties wanneer de notebook lang is.
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 notebook-gebaseerd hulpmiddel dat een intuïtieve interface biedt voor gegevensanalyse. 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 starttijd van de sessie kan oplopen tot 3 minuten als de uitvoering van de notebook geen live pool bereikt. Terwijl het gebruik van Python-notebooks toeneemt, zullen onze intelligente poolmethoden geleidelijk de toewijzing van de live pool verhogen 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 actief. Blijf op de hoogte terwijl we ondersteuning in meer regio's blijven implementeren.