Del via


Bruke Python-opplevelse på notatblokk

Notat

For øyeblikket er funksjonen i forhåndsvisning.

Python-notatblokken er en ny opplevelse som er bygget oppå Fabric-notatblokken. Det er et allsidig og interaktivt verktøy som er utformet for dataanalyse, visualisering og maskinlæring. Det gir en sømløs utviklingsopplevelse for skriving og kjøring av Python-kode. Dette gjør det til et viktig verktøy for dataforskere, analytikere og BI-utviklere, spesielt for utforskningsoppgaver som ikke krever store data og distribuert databehandling.

Med en Python-notatblokk kan du få:

  • Flere innebygde python-kjerner: Python-notatblokker tilbyr et rent Python-kodingsmiljø uten Spark, med to versjoner av Python-kjerner – Python 3.10 og 3.11 tilgjengelig som standard, og de opprinnelige ipython-funksjonene som støttes, for eksempel iPyWidget, magiske kommandoer.

  • kostnadseffektive: Den nye Python-notatblokken tilbyr kostnadsbesparende fordeler ved å kjøre på én enkelt nodeklynge med 2vCores/16 GB minne som standard. Dette sikrer effektiv ressursutnyttelse for datautforskningsprosjekter med mindre datastørrelse.

  • Lakehouse & Resources er opprinnelig tilgjengelige: Fabric Lakehouse sammen med innebygde ressurser for notatblokk er tilgjengelig i Python-notatblokken. Dette gjør det enkelt for brukere å hente dataene til python-notatblokken, bare prøv å dra & slipp for å få kodesnutten.

  • Mix-programmering med T-SQL-: Python-notatblokk tilbyr en enkel måte å samhandle med Data Warehouse og SQL-endepunkter i utforskeren på, ved hjelp av datakoblingen notebookutils, og du kan enkelt kjøre T-SQL-skript under konteksten til python.

  • støtte for populære dataanalysebiblioteker: Python-notatblokker leveres med forhåndsinstallerte biblioteker som DuckDB, Polars og Scikit-learn, som gir et omfattende verktøysett for datamanipulering, analyse og maskinlæring.

  • Avansert intellisense: Python-notatblokken tar i bruk Pylance som intellisensmotor, sammen med andre stofftilpassede språktjenester, med sikte på å gi toppmoderne kodingsopplevelse for notatblokkutviklere.

  • NotebookUtils & Semantic-kobling: Kraftige API-verktøysett gjør det enkelt å bruke Fabric- og Power BI-funksjoner med kode-first-opplevelse.

  • rike visualiseringsfunksjoner: Bortsett fra den populære funksjonen tabell for forhåndsvisning av rik dataramme og diagramfunksjon, støtter vi også populære visualiseringsbiblioteker som Matplotlib, Seaborn og Plotly. PowerBIClient støtter også disse bibliotekene for å hjelpe brukerne med å forstå datamønstre og innsikter bedre.

  • Common Capabilities for Fabric Notebook: Alle funksjonene på notatblokknivå gjelder naturlig for Python-notatblokk, for eksempel redigeringsfunksjoner, automatisk lagring, samarbeid, deling og tillatelsesbehandling, Git-integrering, import/eksport osv.

  • Full stack Data Science Capabilities: Den avanserte lavkodede verktøysettet Data Wrangler, maskinlæringsrammeverket MLFlow og kraftig Copilot er alle tilgjengelige på Python-notatblokken.

Slik får du tilgang til Python-notatblokk

Når du har åpnet en Fabric Notebook, kan du bytte til Python- i rullegardinmenyen for språk på Hjem-fanen og konvertere hele notatblokkoppsettet til Python.

Skjermbilde som viser bytt til Python fra menyen for notatblokkspråk.

De fleste av de vanlige funksjonene støttes som et notatblokknivå, du kan henvise Slik bruker du Microsoft Fabric-notatblokker og Utvikle, kjøre og administrere Microsoft Fabric-notatblokker for å lære detaljert bruk. Her viser vi noen viktige funksjoner som er spesifikke for Python-scenarier.

Kjør Python-notatblokker

Python-notatblokk støtter flere måter å utføre jobb på:

  • Interaktiv kjøring: Du kan kjøre en Python-notatblokk interaktivt som en opprinnelig Jupyter-notatblokk.
  • Planlegge kjøring: Du kan bruke den lette planleggingsopplevelsen på siden for notatblokkinnstillinger til å kjøre Python-notatblokk som en satsvis jobb.
  • Pipeline-kjøring: Du kan organisere Python-notatblokker som notatblokkaktiviteter i dataforløp. Øyeblikksbilde genereres etter kjøringen av jobben.
  • Referansekjøring: Du kan bruke notebookutils.notebook.run() eller notebookutils.notebook.runMultiple() til å referere til kjøring av Python-notatblokker i en annen Python-notatblokk som satsvis jobb. Øyeblikksbilde genereres etter at referansekjøringen er fullført.
  • offentlig API-kjøring: Du kan planlegge at python-notatblokken kjøres med den notatblokken som kjører offentlig API, kontroller at språk- og kjerneegenskapene i notatblokkmetadataene for den offentlige API-nyttelasten er riktig angitt.

Du kan overvåke jobbkjøringsdetaljene for Python-notatblokken på båndfanen Kjør –>Vis alle kjører.

Datasamhandling

Du kan samhandle med Lakehouse, Warehouses, SQL-endepunkter og innebygde ressursmapper på Python-notatblokken.

Lakehouse samhandling

Du kan angi en Lakehouse som standard, eller du kan også legge til flere Lakehouses for å utforske og bruke dem i notatblokker.

Hvis du ikke er kjent med å lese dataobjekter som deltatabell, kan du prøve å dra og slippe fil- og deltatabellen til notatblokklerretet, eller bruke Laste inn data i objektets rullegardinmeny. Notatblokk setter automatisk inn kodesnutt i kodecelle og genererer kode for å lese måldataobjektet.

Notat

Hvis du støter på OOM når du laster inn et stort datavolum, kan du prøve å bruke DuckDB, Polars eller PyArrow-dataramme i stedet for pandaer.

Du finner operasjonen skriv Lakehouse i Bla gjennom kodesnutt –>Skriv data til deltatabellen.

Skjermbilde som viser skrive lakehouse operasjon.

Lagerinteraksjon og mix-programmering med T-SQL

Du kan legge til datalagre eller SQL-endepunkter fra lagerutforskeren i notatblokken. På samme måte kan du dra og slippe tabellene i notatblokklerretet, eller bruke snarveisoperasjonene i rullegardinmenyen for tabeller. Notatblokk genererer automatisk kodesnutt for deg. Du kan bruke notebookutils.data verktøy til å opprette en tilkobling med lagre og spørre dataene ved hjelp av T-SQL-setningen i konteksten til Python.

Skjermbilde som viser snarveier til lagertabellen.

Notat

SQL-endepunkter er skrivebeskyttet her.

Mappe for notatblokkressurser

De notatblokkressursene innebygde ressursmappen er opprinnelig tilgjengelig i Python-notatblokken. Du kan enkelt samhandle med filene i den innebygde ressursmappen ved hjelp av Python-kode som om du arbeider med det lokale filsystemet. Miljøressursmappen støttes for øyeblikket ikke.

Kjerneoperasjoner

Python-notatblokk støtter to innebygde kjerner akkurat nå, de er Python 3.10 og Python 3.11, er standard valgt kjerne Python 3.11. du kan enkelt bytte mellom dem.

Du kan avbryte, starte på nytt eller bytte kjerne på Hjem-fanen på båndet. Avbrudd av kjerne i Python-notatblokker er det samme som å avbryte cellen i Spark-notatblokken.

Skjermbilde som viser kjerneoperasjoner.

Unormal kjerneavslutning fører til at kjøring av kode avbrytes og variabler mistes, men det stopper ikke notatblokkøkten.

Det finnes kommandoer som kan føre til at kjernen er død. Du kan for eksempel avslutte(), exit().

Bibliotekbehandling

Du kan bruke kommandoene %pip og %conda for innebygde installasjoner, kommandoene støtter både folkebiblioteker og tilpassede biblioteker.

For tilpassede biblioteker kan du laste opp lib-filene til innebygde ressurser mappen. Vi støtter flere typer biblioteker som .whl, .jar, .dll, .pyosv., bare prøv å dra&slipp til filen, og kodesnutten genereres automatisk.

Du må kanskje starte kjernen på nytt for å bruke de oppdaterte pakkene.

Magisk kommando for øktkonfigurasjon

På samme måte som når du tilpasser en Spark-øktkonfigurasjon i notatblokken, kan du også bruke %%configure i Python-notatblokken. Python-notatblokken støtter tilpasning av databehandlingsnodestørrelse, monteringspunkter og standard lakehouse for notatblokkøkten. De kan brukes i både interaktive notatblokk- og datasamlenotatblokkaktiviteter. Vi anbefaler at du bruker kommandoen %%configure i begynnelsen av notatblokken, eller du må starte notatblokkøkten på nytt for å få innstillingene til å tre i kraft.

Her er de støttede egenskapene i Python-notatblokken %%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 vise oppdatering av databehandlingsressurser på statuslinjen for notatblokken og overvåke CPU- og minnebruken til databehandlingsnoden i sanntid.

Skjermbilde som viser oppdatering av databehandlingsressurser.

NotebookUtils

Notebook Utilities (NotebookUtils) er en innebygd pakke som gjør det enkelt å utføre vanlige oppgaver i Fabric Notebook. Den er forhåndsinstallert på Python-kjøretid. Du kan bruke NotebookUtils til å arbeide med filsystemer, få miljøvariabler, kjede notatblokker sammen, få tilgang til ekstern lagring og arbeide med hemmeligheter.

Du kan bruke notebookutils.help() til å liste opp tilgjengelige API-er og også få hjelp med metoder, eller referere til dokumentet NotebookUtils.

Dataverktøy

Notat

  • For øyeblikket er funksjonen i forhåndsvisning.
  • API-kontrakten kan endres i nær fremtid.

Du kan bruke notebookutils.data verktøy til å opprette en tilkobling med angitt datakilde og deretter lese og spørre etter data ved hjelp av T-SQL-setningen.

Kjør følgende kommando for å få en oversikt over de tilgjengelige metodene:

notebookutils.data.help()

Ytelse:

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

Spørringsdata fra 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)

Spørringsdata fra Lager

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)

Notat

  • Dataverktøyene i NotebookUtils er bare tilgjengelig på Python-notatblokken for øyeblikket.
  • Kjent begrensning: For connect_to_artifact API initialiserer det returnerte conn objektet internt et PBI-token for å godkjenne brukeren når du kobler til datakilden. Den støtter imidlertid ikke oppdatering av token. For øyeblikket er PBI-tokenet gyldig i bare én time, og alle spørringer som overskrider én time, vil mislykkes på grunn av utløpsproblemet for tokenet.

Bla gjennom kodesnutter

Du finner nyttige python-kodesnutter på Rediger-fanen–>Bla gjennom kodesnutt, er nye Python-eksempler nå tilgjengelige. Du kan lære av Python-kodesnutten for å begynne å utforske notatblokken.

Skjermbilde som viser hvor du kan bla gjennom python-kodesnutter.

Semantisk kobling er en funksjon som lar deg opprette en forbindelse mellom semantiske modeller og Synapse Data Science i Microsoft Fabric. Den støttes opprinnelig i Python-notatblokken. BI-ingeniører og Power BI-utviklere kan enkelt bruke Semantic-koblingstilkobling og administrere semantisk modell. Les det offentlige dokumentet for å finne ut mer om Semantic-koblingen.

Visualisering

I tillegg til å tegne diagrammer med biblioteker, kan innebygde visualiseringsfunksjonen gjøre DataFrames om til datavisualiseringer i rikt format. Du kan bruke display()-funksjonen på datarammer til å produsere den rike datarammetabellvisningen og diagramvisningen.

Skjermbilde som viser visualiseringsopplevelsen i Python-notatblokken.

Notat

Diagramkonfigurasjonene beholdes i Python-notatblokken, noe som betyr at etter at kodecellen er kjørt på nytt, beholdes fortsatt de lagrede diagrammene hvis datarammeskjemaet for måldatarammen ikke er endret.

KodeintelliSense

Python notebook integrated Pylance to enhance the Python coding experience, Pylance is the default language service support for Python in Visual Studio Code. Det gir mange brukervennlige funksjoner som nøkkelordutheving, hurtiginformasjon, fullføring av kode, parameterinformasjon og syntaksfeilgjenkjenning. Pylance har også bedre ytelse når notatblokken er lang.

Datavitenskapsfunksjoner

Gå til Data Science-dokumentasjoner i Microsoft Fabric for å lære mer datavitenskap og AI-erfaring i Fabric. Her viser vi noen viktige funksjoner for datavitenskap som støttes opprinnelig i Python-notatblokken.

  • Data Wrangler: Data Wrangler er et notatblokkbasert verktøy som gir et engasjerende grensesnitt for utforskning av dataanalyse. Denne funksjonen kombinerer en rutenettlignende datavisning med dynamisk sammendragsstatistikk, innebygde visualiseringer og et bibliotek med vanlige datarengjøringsoperasjoner. Det gir datarengjøring, datatransformasjon og integrering, som akselererer dataforberedelse med Data Wrangler.

  • MLflow: Et maskinlæringseksperiment er den primære enheten for organisering og kontroll for alle relaterte maskinlæringskjøringer. En kjøring tilsvarer en enkelt kjøring av modellkode.

  • Fabric Auto Logging: Synapse Data Science in Microsoft Fabric includes autologging, which significantly reduces the amount of code required to automatically log the parameters, metrics, and items of a machine learning model during training.

    Autologging utvider MLflow-sporingsfunksjoner. Autologging kan registrere ulike måledata, inkludert nøyaktighet, tap, F1-poengsum og egendefinerte måledata du definerer. Ved å bruke autologging kan utviklere og dataforskere enkelt spore og sammenligne ytelsen til ulike modeller og eksperimenter uten manuell sporing.

  • Copilot: Copilot for datavitenskap og datateknikknotatblokker er en AI-assistent som hjelper deg med å analysere og visualisere data. Det fungerer med lakehouse-tabeller, Power BI-datasett og pandaer/spark-datarammer, og gir svar og kodesnutter direkte i notatblokken. Du kan bruke Copilot-chattepanelet og Char-magics i notatblokken, og AI gir svar eller kode for å kopiere til notatblokken.

Kjente begrensninger for offentlig forhåndsvisning

  • Live pool-opplevelse er ikke garantert for hver python-notatblokkkjøring. Starttiden for økten kan være opptil 3 minutter hvis notatblokkkjøringen ikke treffer live pool, mens bruken av python-notatblokken vokser, ut intelligente pooling metoder vil gradvis øke live pool tildeling for å møte etterspørselen.

  • Miljøintegrering er ikke tilgjengelig i Python-notatblokken ved offentlig forhåndsvisning.

  • Angi tidsavbrudd for økt er ikke tilgjengelig for øyeblikket.

  • Copilot kan generere Spark-setning, som kanskje ikke kan kjøres i Python-notatblokken.

  • Copilot på Python-notatblokken støttes for øyeblikket ikke fullstendig i flere områder. Distribusjonsprosessen pågår fremdeles. Følg med mens vi fortsetter å rulle ut støtte i flere områder.