Dela via


Använda Python-upplevelsen i Notebook

Notera

För närvarande är funktionen i förhandsversion.

Python Notebook är en ny upplevelse som bygger på Fabric Notebook. Det är ett mångsidigt och interaktivt verktyg som utformats för dataanalys, visualisering och maskininlärning. Det ger en smidig utveckling för att skriva och köra Python-kod. Detta gör det till ett viktigt verktyg för dataforskare, analytiker och BI-utvecklare, särskilt för utforskningsuppgifter som inte kräver stordata och distribuerad databehandling.

Med en Python-anteckningsbok kan du få:

  • Flera inbyggda Python-kernels: Python-notebook-filer erbjuder en ren Python-kodningsmiljö utan Spark, med två versioner av Python-kernel – Python 3.10 och 3.11 tillgängliga som standard, och de inbyggda ipython-funktionerna som stöds, till exempel iPyWidget, magiska kommandon.

  • Kostnadseffektiv: Den nya Python-notebooken erbjuder kostnadsbesparande fördelar genom att köras på ett kluster med en enkel nod med 2vCores/16GB minne som standard. Detta säkerställer effektiv resursanvändning för datautforskningsprojekt med mindre datastorlek.

  • Lakehouse & Resurser är internt tillgängliga: Fabric Lakehouse tillsammans med notebook-inbyggda resurser finns i Python Notebook. Detta gör det möjligt för användare att enkelt ta data till Python Notebook, försök bara dra & släpp för att hämta kodfragmentet.

  • Mix programming with T-SQL: Python Notebook är ett enkelt sätt att interagera med Data Warehouse- och SQL-slutpunkter i Utforskaren. Med notebookutils data connector kan du enkelt köra T-SQL-skripten i python-kontexten.

  • Stöd för populära dataanalysbibliotek: Python-notebook-filer levereras med förinstallerade bibliotek som DuckDB, Polars och Scikit-learn, vilket ger en omfattande verktygslåda för datamanipulering, analys och maskininlärning.

  • sv-SE: Advanced intellisense: Python Notebook använder Pylance som intellisense-motor, tillsammans med andra Fabric-anpassade språktjänster, med målet att erbjuda den senaste kodningsupplevelsen för notebooks-utvecklare.

  • NotebookUtils & semantisk länk: Kraftfulla API-verktyg låter dig enkelt använda Fabric och Power BI-funktionalitet med ett kodfokus.

  • Funktion för omfattande visualisering: Förutom den populära funktionen "Table" och "Chart" för förhandsversionen av dataramen stöder vi även populära visualiseringsbibliotek som Matplotlib, Seaborn och Plotly. PowerBIClient stöder också dessa bibliotek för att hjälpa användarna att bättre förstå datamönster och insikter.

  • Vanliga funktioner för Fabric Notebook: Alla notebook-nivåfunktioner är naturligt tillämpliga för Python Notebook, till exempel redigeringsfunktioner, Spara automatiskt, samarbete, delning och behörighetshantering, Git-integrering, import/export osv.

  • Data Science-funktioner i full stack: Den avancerade verktygslådan Data Wrangler med låg kod, maskininlärningsramverket MLFlow och kraftfulla Copilot är alla tillgängliga i Python Notebook.

Så här kommer du åt Python Notebook

När du har öppnat en Fabric Notebook kan du växla till Python i listrutan språk på fliken Start och konvertera hela notebook-inställningen till Python.

Skärmbild som visar byte till Python från språkmenyn i anteckningsboken.

De flesta vanliga funktioner stöds som notebook-nivå. Du kan läsa Så här använder du Microsoft Fabric-notebook-filer och Utveckla, köra och hantera Microsoft Fabric-notebook-filer för att lära dig mer om den detaljerade användningen. Här listar vi några viktiga funktioner som är specifika för Python-scenarier.

Kör Python-notebooks

Python Notebook har stöd för flera sätt att köra jobb:

  • Interaktiv körning: Du kan köra en Python-anteckningsbok interaktivt som en inbyggd Jupyter-anteckningsbok.
  • Schedule run: Du kan använda den lättviktade schemaläggarupplevelsen på inställningssidan för anteckningsboken för att köra Python-anteckningsbok som ett batchjobb.
  • Pipeline-körning: Du kan orkestrera Python-notebook-filer som notebook-aktiviteter i datapipeline. En ögonblicksbild kommer att skapas efter att jobbet har körts.
  • Referenskörning: Du kan använda notebookutils.notebook.run() eller notebookutils.notebook.runMultiple() för att köra Python-notebook-filer som ett batchjobb i en annan Python-notebook-fil. Ögonblicksbilden genereras när referenskörningen har slutförts.
  • Körning av den offentliga API:n: Du kan schemalägga körningen av python-notebook-filen med notebook-körningens offentliga API, och se till att språk- och kernelegenskaperna i notebook-metadata i den offentliga API-nyttolasten har angetts korrekt.

Du kan övervaka körningsinformationen för Python-notebook-jobbet på fliken i menyfliksområdet Kör –>Visa alla körningar.

Datainteraktion

Du kan interagera med Lakehouse, Warehouses, SQL-slutpunkter och inbyggda resursmappar i Python Notebook.

Lakehouse-interaktion

Du kan ange en Lakehouse som standard, eller så kan du också lägga till flera Lakehouses för att utforska och använda dem i notebook-filer.

Om du inte är bekant med att läsa dataobjekt som deltatabellkan du prova att dra och släppa filen och deltatabellen till arbetsytan i notebooken eller använda alternativet Läs in data i objektets rullgardinsmeny. Notebook infogar automatiskt kodfragment i kodcellen och genererar kod för att läsa måldataobjektet.

Not

Om du stöter på OOM när du läser in stora mängder data kan du prova att använda DuckDB, Polars eller PyArrow-dataramen i stället för Pandas.

Du hittar åtgärden skriv Lakehouse i Bläddra i kodsnutt –>skriv data till deltatablell.

Skärmbild som visar skrivåtgärden för lakehouse.

Interaktion med lager och kombinering av programmering med T-SQL

Du kan lägga till datalager eller SQL-slutpunkter från Warehouse Explorer of Notebook. På samma sätt kan du dra och släppa tabellerna i anteckningsbokens arbetsyta eller använda genvägsåtgärderna i listrutan tabell. Anteckningsboken genererar automatiskt kodfragment åt dig. Du kan använda notebookutils.data verktyg för att upprätta en anslutning till Warehouses och köra frågor mot data med hjälp av T-SQL-instruktionen i Python-kontexten.

Skärmbild som visar kortkommandon för lagertabeller.

Note

SQL-slutpunkter är skrivskyddade här.

Anteckningsboksresursmapp

Notebook-resursens inbyggda resursmapp är inbyggt tillgänglig i Python Notebook. Du kan enkelt interagera med filerna i den inbyggda resursmappen med hjälp av Python-kod som om du arbetar med ditt lokala filsystem. För närvarande stöds inte resursmappen Miljö.

Kernelåtgärder

Python Notebook har stöd för två inbyggda kärnor just nu, de är Python 3.10 och Python 3.11, och standardkärnan som valts är Python 3.11. kan du enkelt växla mellan dem.

Du kan avbryta, starta om eller växla kernel på fliken Start i menyfliksområdet. Att avbryta kernel i Python-notebook-filer är samma sak som att avbryta cellen i Spark Notebook.

Skärmbild som visar kernelåtgärder.

Onormal kernelavslut gör att kodkörningen avbryts och förlorar variabler, men det stoppar inte notebook-sessionen.

Det finns kommandon som kan leda till att kerneln dog. Till exempel quit(), exit().

Bibliotekshantering

Du kan använda kommandona %pip och %conda för infogade installationer. Kommandona stöder både offentliga bibliotek och anpassade bibliotek.

För anpassade bibliotek kan du ladda upp lib-filerna till mappen inbyggda resurser. Vi stöder flera typer av bibliotek som .whl, .jar, .dll, .pyosv. försök bara dra&släpp till filen och kodfragmentet genereras automatiskt.

Du kan behöva starta om kerneln för att använda de uppdaterade paketen.

Magiskt kommando för sessionskonfiguration

På samma sätt som när du anpassar en Spark-sessionskonfiguration i anteckningsboken kan du också använda %%configure i en Python-anteckningsbok. Python Notebook stöder anpassning av storlek på beräkningsnoder, monteringspunkter och standard lakehouse för notebook-sessionen. De kan användas i både interaktiva notebookaktiviteter och pipeline-notebookaktiviteter. Vi rekommenderar att du använder kommandot %%configure i början av anteckningsboken, eller så måste du starta om notebook-sessionen för att inställningarna ska börja gälla.

Här är de egenskaper som stöds i 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>"
        },
    ],
}

Du kan visa uppdateringen av beräkningsresurser i statusfältet för notebook-filer och övervaka processor- och minnesanvändningen för beräkningsnoden i realtid.

Skärmbild som visar uppdatering av beräkningsresurser.

NotebookUtils

Notebook Utilities (NotebookUtils) är ett inbyggt paket som hjälper dig att enkelt utföra vanliga uppgifter i Fabric Notebook. Det är förinstallerat i Python-miljön. Du kan använda NotebookUtils för att arbeta med filsystem, hämta miljövariabler, länka ihop notebook-filer, komma åt extern lagring och arbeta med hemligheter.

Du kan använda notebookutils.help() för att visa tillgängliga API:er och även få hjälp med metoder, eller referera till dokumentet NotebookUtils.

Dataverktyg

Not

  • För närvarande är funktionen i förhandsversion.
  • API-kontraktet kan ändras inom en snar framtid.

Du kan använda notebookutils.data verktyg för att upprätta en anslutning med den angivna datakällan och sedan läsa och fråga efter data med hjälp av T-SQL-instruktionen.

Kör följande kommando för att få en översikt över tillgängliga metoder:

notebookutils.data.help()

Utdata:

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

Fråga efter data från 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)

Fråga efter data från 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)

Not

  • Dataverktygen i NotebookUtils är bara tillgängliga i Python Notebook för tillfället.
  • Känd begränsning: För connect_to_artifact API initierar det returnerade conn-objektet internt en PBI-token för att autentisera användaren vid anslutning till datakällan. Den stöder dock inte tokenuppdatering. För närvarande är PBI-token giltig i endast en timme. Alla frågor som överskrider en timme misslyckas på grund av problem med tokens giltighetstid.

Bläddra bland kodfragment

Du hittar användbara Python-kodfragment på fliken Redigera–>Bläddra kodfragment. Nu finns nya Python-exempel tillgängliga. Du kan lära dig från Python-kodfragmentet för att börja utforska notebook-filen.

Skärmbild som visar var du kan bläddra i python-kodfragment.

Semantisk länk är en funktion som gör att du kan upprätta en anslutning mellan semantiska modeller och Synapse Data Science i Microsoft Fabric. Det stöds internt i Python Notebook. BI-tekniker och Power BI-utvecklare kan enkelt använda semantisk länkanslutning och hantera semantisk modell. Läs det offentliga dokumentet om du vill veta mer om semantisk länk.

Visualisering

Förutom att rita diagram med bibliotek, kan du med den inbyggda visualiseringsfunktionen omvandla DataFrame till visualiseringar i rikt format. Du kan använda funktionen display() på dataramar för att skapa den omfattande dataramtabellvyn och diagramvyn.

Skärmbild som visar visualiseringsupplevelsen i Python Notebook.

Not

Diagramkonfigurationerna sparas i Python Notebook, vilket innebär att de sparade diagrammen fortfarande sparas efter att kodcellen har körts igen, om måldataramschemat inte har ändrats.

Kod intelliSense

Python-notebook som har integrerat Pylance för att förbättra Python-kodningsupplevelsen, Pylance är standardspråktjänst för Python i Visual Studio Code. Den innehåller många lätthanterande funktioner som nyckelordsmarkering, snabb information, kodkomplettering, parameterinformation och syntaxfelidentifiering. Dessutom har Pylance bättre prestanda när anteckningsboken är lång.

Datavetenskapsfunktioner

Besök datavetenskapsdokumentation i Microsoft Fabric för att lära dig mer om datavetenskap och AI-erfarenhet i Fabric. Här listar vi några viktiga datavetenskapsfunktioner som stöds internt i Python Notebook.

  • Data Wrangler: Data Wrangler är ett notebook-baserat verktyg som tillhandahåller ett uppslukande gränssnitt för att utforska dataanalys. Den här funktionen kombinerar en rutnätsliknande datavisning med dynamisk sammanfattningsstatistik, inbyggda visualiseringar och ett bibliotek med vanliga datarensningsåtgärder. Den tillhandahåller datarensning, datatransformering och integrering, vilket påskyndar dataförberedelsen med Data Wrangler.

  • MLflow: Ett maskininlärningsexperiment är den primära enheten för organisation och kontroll för alla relaterade maskininlärningskörningar. En körning motsvarar en enda exekvering av modellkod.

  • Fabric Auto Logging: Synapse Data Science i Microsoft Fabric innehåller automatisk loggning, vilket avsevärt minskar mängden kod som krävs för att automatiskt logga parametrar, mått och objekt i en maskininlärningsmodell under träning.

    Automatisk loggning utökar MLflow Tracking-funktionerna. Automatisk loggning kan samla in olika mått, inklusive noggrannhet, förlust, F1-poäng och anpassade mått som du definierar. Med hjälp av automatisk loggning kan utvecklare och dataforskare enkelt spåra och jämföra prestanda för olika modeller och experiment utan manuell spårning.

  • Copilot: Copilot for Data Science and Data Engineering notebooks är en AI-assistent som hjälper dig att analysera och visualisera data. Den fungerar med lakehouse-tabeller, Power BI-datauppsättningar och pandas/spark-dataramar, vilket ger svar och kodfragment direkt i anteckningsboken. Du kan använda Copilot chattpanelen och Char-magics i anteckningsboken, och AI:n ger svar eller kod som du kan kopiera till din anteckningsbok.

Kända begränsningar för offentlig förhandsversion

  • Direktupplevelse av pool garanteras inte för varje Python-notebook-körning. Sessionens starttid kan fördröjas upp till 3 minuter om notebook-körningen inte når livepoolen. Medan användningen av python-notebook-filer växer, kommer våra intelligenta poolmetoder gradvis att öka allokeringen av livepoolen för att tillgodose efterfrågan.

  • Miljöintegrering är inte tillgänglig i Python Notebook under offentlig förhandsgranskning.

  • Det går inte att ange tidsgränsen för sessionen för tillfället.

  • Copilot kan generera Spark-instruktionen, som kanske inte kan köras i Python Notebook.

  • För närvarande stöds inte Copilot i Python Notebook fullt ut i flera regioner. Distributionsprocessen pågår fortfarande. Håll dig uppdaterad när vi fortsätter att distribuera support i fler regioner.