Megosztás:


Python-élmény használata jegyzetfüzetben

A Python-jegyzetfüzet egy új felület, amely a Fabric-jegyzetfüzetre épül. Ez egy sokoldalú és interaktív eszköz, amelyet adatelemzésre, vizualizációra és gépi tanulásra terveztek. Zökkenőmentes fejlesztési élményt nyújt a Python-kód írásához és végrehajtásához. Ez a képesség nélkülözhetetlen eszköz az adattudósok, elemzők és BI-fejlesztők számára, különösen olyan feltárási feladatokhoz, amelyekhez nincs szükség big data-ra és elosztott számítástechnikára.

Egy Python-jegyzetfüzettel a következőt érheti el:

  • Több beépített Python-kernel: A Python-jegyzetfüzetek tiszta Python-kódolási környezetet kínálnak Spark nélkül, a Python kernel két verziója – a Python 3.10 és a 3.11 alapértelmezés szerint elérhető, és a natív ipython-funkciók támogatottak, például az iPyWidget, a magic parancsok.

  • Költséghatékony: Az új Python-jegyzetfüzet költségmegtakarítási előnyöket kínál, ha alapértelmezés szerint egyetlen csomópontfürtön fut 2vCores/16 GB memóriával. Ez a beállítás hatékony erőforrás-kihasználtságot biztosít a kisebb adatméretű adatfeltárási projektekhez.

  • Lakehouse & Az erőforrások natívan elérhetők: A Fabric Lakehouse és a notebook beépített erőforrások teljes funkcionalitása elérhető a Python-jegyzetfüzetben. Ez a funkció lehetővé teszi a felhasználók számára, hogy egyszerűen hozzák el az adatokat a Python-jegyzetfüzetbe, csak próbálja meg húzással & húzással lekérni a kódrészletet.

  • T-SQL-vegyes programozás: A Python-jegyzetfüzet egyszerű módot kínál a Data Warehouse és az SQL-végpontok Explorerben való használatára, a Notebookutils adatösszekötő használatával egyszerűen végrehajthatja a T-SQL-szkripteket a Python kontextusában.

  • Népszerű adatelemzési kódtárak támogatása: A Python-jegyzetfüzetek olyan előre telepített kódtárakkal is rendelkeznek, mint a DuckDB, a Polars és a Scikit-learn, amelyek átfogó eszközkészletet biztosítanak az adatmanipulációhoz, az elemzéshez és a gépi tanuláshoz.

  • Speciális intellisense: A Python notebook a Pylance-t használja intellisense motorként, együtt más testreszabott Fabric nyelvi szolgáltatásokkal, amelynek célja, hogy a legkorszerűbb kódolási élményt nyújtsa a notebook fejlesztők számára.

  • NotebookUtils & Szemantikai hivatkozás: A hatékony API-eszköztárak lehetővé teszik a Fabric és a Power BI funkcióinak egyszerű használatát kódelső megközelítéssel.

  • Gazdag Vizualizációs Lehetőségek: A népszerű "Table" és "Chart" függvényeken kívül, amelyek gazdag dataframe előnézetet kínálnak, olyan népszerű vizualizációs könyvtárakat is támogatunk, mint a Matplotlib, a Seaborn és a Plotly. A PowerBIClient ezeket a kódtárakat is támogatja, hogy a felhasználók jobban megértsék az adatmintákat és az elemzéseket.

  • Hálójegyzetfüzetáltalános funkciói: A jegyzetfüzet összes szintű funkciója természetesen alkalmazható a Python-jegyzetfüzetekre, mint például a szerkesztési funkciók, automatikus mentés, együttműködés, megosztás és engedélykezelés, Git-integráció, importálás/exportálás stb.

  • Adatelemzés teljes spektruma: A Data Wrangler fejlett, kevesebb kódot igénylő eszközkészlete, az MLFlow gépi tanulási keretrendszer és a hatékony Copilot mind elérhető a Python notebookon.

Python-jegyzetfüzet elérése

Miután megnyitotta a Fabric Notebook-ot, válthat Pythonra a Kezdőlap fülön található nyelvi legördülő menüben, és az egész jegyzetfüzet beállítást átalakíthatja Pythonra.

Képernyőkép a Pythonra váltásról a jegyzetfüzet nyelvi menüjéből.

A leggyakoribb funkciók többsége jegyzetfüzetszintként támogatott, a részletes használat megismeréséhez tekintse meg a A Microsoft Fabric-jegyzetfüzetek és Microsoft Fabric-jegyzetfüzetek fejlesztése, végrehajtása és kezelése. Az alábbiakban felsorolunk néhány, a Python-forgatókönyvekre jellemző fő képességeket.

Python-jegyzetfüzetek futtatása

A Python-jegyzetfüzet több feladatvégrehajtási módot is támogat:

  • Interaktív futtatás: Egy Python-jegyzetfüzetet interaktívan futtathat, mint egy natív Jupyter-jegyzetfüzetet.
  • Ütemezési futtatás: A Jegyzetfüzet beállításai lapon található egyszerűsített ütemezési felülettel kötegelt feladatként futtathatja a Python-jegyzetfüzetet.
  • Pipeline futtatása: Python-jegyzetfüzeteket jegyzetfüzet-tevékenységként állíthat össze a Pipeline-ban. A rendszer pillanatképet hoz létre a feladat végrehajtása után.
  • Referenciafuttatás: Használhatja a vagy a notebookutils.notebook.run() jelölőt arra, hogy egy másik Python-jegyzetfüzetben Python-jegyzetfüzeteket hivatkozzon kötegelt feladatként. A rendszer a referenciafuttatás befejezése után létrehozza a pillanatképet.
  • Nyilvános API-futtatás: Ütemezheti a Python-jegyzetfüzet futtatását a nyilvános API-val, ügyeljen arra, hogy az API adatcsomagjának jegyzetfüzet-metaadatai között a nyelv és a kernel tulajdonságok megfelelően legyenek beállítva.

A Python-jegyzetfüzet-feladat futtatási adatait a Menüszalag Futtatás –>Az összes futtatás megtekintése lapján figyelheti.

Adat-interakció

A Python-jegyzetfüzetben kezelheti a Lakehouse, a Warehouses, az SQL-végpontok és a beépített erőforrások mappáit.

Note

  • A Python Notebook futtatókörnyezete előre telepítve van delta-rs és duckdb kódtárakkal, hogy támogassa a Delta Lake-adatok olvasását és írását. Vegye figyelembe azonban, hogy egyes Delta Lake-funkciók jelenleg nem támogatottak teljes mértékben. További részletekért és a legújabb frissítésekért tekintse meg a delta-rs és a duckdb hivatalos webhelyeit.
  • Jelenleg nem támogatjuk a deltalake(delta-rs) 1.0.0-s vagy újabb verzióját. Maradjon hangolva.

Lakehouse-interakció

Beállíthat egy Lakehouse-t alapértelmezettként, vagy több Lakehouse-t is hozzáadhat a felfedezéshez és a jegyzetfüzetekben való használathoz.

Ha nem ismeri az adatobjektumok( például a deltatábla) olvasását, húzza a fájlt és a deltatáblát a jegyzetfüzet vásznára, vagy használja az adatok betöltése parancsot az objektum legördülő menüjében. A jegyzetfüzet automatikusan kódrészletet szúr be a kódcellába, és kódot hoz létre a céladat-objektum olvasásához.

Note

Ha nagy mennyiségű adat betöltésekor OOM-sel találkozik, próbálja meg a DuckDB, a Polars vagy a PyArrow adatkeretet használni pandas helyett.

Az írni Lakehouse-műveletet a Kódrészlet tallózásban találja, ->Adatok írása a deltatáblába.

Képernyőkép, amely a Lakehouse művelet írását mutatja.

Raktári interakció és programozás keverése a T-SQL-vel

Adatraktárakat vagy SQL-végpontokat a Jegyzetfüzet Raktárkezelőjében vehet fel. Hasonlóképpen húzhatja a táblázatokat a jegyzetfüzet vásznára, vagy használhatja a táblázat legördülő menüjének parancsikonműveletét. A jegyzetfüzet automatikusan létrehoz egy kódrészletet. A notebookutils.data segédprogramok segítségével kapcsolatot létesíthet a Warehouses szolgáltatással, és T-SQL utasítással kérdezheti le az adatokat a Python kontextusában.

Képernyőkép a raktártábla billentyűparancsairól.

Note

Az SQL-végpontok csak olvashatók.

Jegyzetfüzet erőforrásmappa

A Notebook-erőforrások beépített erőforrásmappája natív módon érhető el a Python Notebookban. A beépített erőforrások mappájában lévő fájlokat egyszerűen kezelheti Python-kóddal, mintha a helyi fájlrendszerrel dolgozik. A Környezeti erőforrás mappa jelenleg nem támogatott.

Kernelműveletek

A Python-jegyzetfüzetek jelenleg két beépített kernelt támogatnak, ezek a Python 3.10 és a Python 3.11, az alapértelmezett kiválasztott kernel a Python 3.11. egyszerűen válthat közöttük.

A menüszalag Kezdőlap lapján megszakíthatja, újraindíthatja vagy átválthatja a kernelt. A kernel megszakítása a Python-jegyzetfüzetekben ugyanaz, mint a cella leállítása a Spark-jegyzetfüzetekben.

A kernelműveleteket bemutató képernyőkép.

A rendellenes kernelkimenet miatt a kódvégrehajtás megszakad, és a változók elvesznek, de ez nem állítja le a jegyzetfüzet munkamenetét.

Vannak olyan parancsok, amelyek a kernel elhalásához vezethetnek. Például : quit(), exit().

Könyvtárkezelés

A beágyazott telepítések %pip és %conda parancsait is használhatja, a parancsok mind a nyilvános kódtárakat, mind a testreszabott kódtárakat támogatják.

Testre szabott tárak esetén feltöltheti a lib fájlokat a Beépített erőforrások mappába. Számos kódtártípust támogatunk, például a Wheel (.whl), a JAR (.jar), a DLL (.dll) és a Pythont (.py). Egyszerűen próbálja meg húzással a fájlra helyezni, és a kódrészlet automatikusan létrejön.

Előfordulhat, hogy újra kell indítania a kernelt a frissített csomagok használatához.

A hasonló parancsok egyértelműbb megértéséhez és használatához tekintse meg az alábbi táblázatot.

Command/Syntax Fő cél Hogyan működik a Jupyter Notebookban? Tipikus használati eset Notes
%pip install package Python-csomagok telepítése A pip futtatása a jegyzetfüzet Python-kernelében A csomagok telepítésének ajánlott módja Python Notebookban ugyanúgy, mint !pip, nem indítja újra a kernelt automatikusan.
!pip install package Python-csomagok telepítése a rendszerhéjon keresztül A "pip" futtatása shell-parancsként A csomagok telepítésének alternatív módja Python Notebookban ugyanúgy, mint %pip, nem indítja újra a kernelt automatikusan.
import sys; sys.exit(0) Indítsa újra a notebook kernelét A kernel azonnali újraindítása Programozott módon indítsa újra a kernelt Törli az összes változót és állapotot; nem ajánlott közvetlenül használni
notebookutils.session.restartPython() Indítsa újra a notebook kernelét Belső hívások sys.exit(0) A kernel újraindításának ajánlott módja Hivatalos API, biztonságosabb és kompatibilisebb, mint a közvetlen használat sys.exit(0)

Note

  • A Python Notebookban %pip!pipugyanazzal a viselkedéssel rendelkezik: mindkét csomag az aktuális kernel környezetébe telepíthető, és egyik sem indítja újra automatikusan a kernelt a telepítés után.
  • Ha újra kell indítania a kernelt (például bizonyos csomagok telepítése után), javasoljuk, hogy használja ahelyettnotebookutils.session.restartPython(), hogy import sys; sys.exit(0) .
    • notebookutils.session.restartPython() egy hivatalos API, amely körülveszi sys.exit(0), és biztonságosabb és inkább kompatibilis a notebook-környezetekben.
  • Nem ajánlott közvetlenül használni sys.exit(0), hacsak nem szükséges.

Python-jegyzetfüzet valós idejű erőforrás-használat monitorozása

Fontos

Ez a funkció előzetes verzióban érhető el.

Az erőforrás-monitorozás panelen közvetlenül a jegyzetfüzeten belül követheti nyomon a kritikus futásidejű információkat, például a munkamenet időtartamát, a számítási típust és a valós idejű erőforrásmetrikákat, beleértve a PROCESSZOR- és memóriahasználatot. Ez a funkció azonnali áttekintést nyújt az aktív munkamenetről és a használt erőforrásokról.

Az erőforrásmonitor javítja a Python-számítási feladatok rendszererőforrás-használatának láthatóságát. Segít optimalizálni a teljesítményt, kezelni a költségeket, és csökkenteni a memóriahiányos (OOM) hibák kockázatát. A metrikák valós idejű monitorozásával azonosíthatja az erőforrás-igényes műveleteket, elemezheti a használati mintákat, és megalapozott döntéseket hozhat a kód skálázásával vagy módosításával kapcsolatban.

A használat megkezdéséhez állítsa be a jegyzetfüzet nyelvét Pythonra , és indítsa el a munkamenetet. Ezt követően megnyithatja a figyelőt a jegyzetfüzet állapotsorában található számítási erőforrásokra kattintva, vagy az eszköztáron az erőforrás-használat megtekintése gombra kattintva. Az erőforrásmonitor ablaktábla automatikusan megjelenik, és integrált monitorozási felületet biztosít a Python-kódhoz a Fabric-jegyzetfüzetekben.

Képernyőkép a Python-jegyzetfüzet valós idejű erőforrás-használati figyelésről.

Munkamenet-konfigurációs varázsparancs

Hasonlóan a Spark-munkamenet konfigurációjának személyre szabításához egy jegyzetfüzetben, Python-jegyzetfüzetekben is használhatja a %%configure-t. A Python-jegyzetfüzet támogatja a számítási csomópontok méretének, csatlakoztatási pontjainak és a jegyzetfüzet-munkamenet alapértelmezett lakehouse-jának testreszabását. Interaktív jegyzetfüzet- és folyamatjegyzetfüzet-tevékenységekben is használhatók. Javasoljuk, hogy használja %%configure parancsot a jegyzetfüzet elején, vagy a beállítások érvénybe lépéséhez újra kell indítania a jegyzetfüzet munkamenetét.

A Python-jegyzetfüzet támogatott tulajdonságai %%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>"
        },
    ],
}

A számítási erőforrások frissítését a jegyzetfüzet állapotsorán tekintheti meg, és valós időben figyelheti a számítási csomópont processzor- és memóriahasználatát.

A számítási erőforrások frissítését bemutató képernyőkép.

NotebookUtils

A Notebook Utilities (NotebookUtils) egy beépített csomag, amely segít könnyen elvégezni a gyakori feladatokat a Fabric Notebookban. Előre telepítve van a Python-futtatókörnyezetben. A NotebookUtils használatával fájlrendszerekkel dolgozhat, környezeti változókat kérhet le, a jegyzetfüzeteket összekapcsolhatja, külső tárolóhoz férhet hozzá, és titkos kulcsokkal dolgozhat.

Az elérhető API-k listázására és a metódusokkal kapcsolatos segítségért, illetve a notebookutils.help() való hivatkozáshoz is használhatja.

Adat-segédprogramok

Note

A funkció jelenleg előzetes verzióban érhető el.

A notebookutils.data segédprogramokkal kapcsolatot létesíthet a megadott adatforrással, majd T-SQL-utasítással olvashat és kérdezhet le adatokat.

Futtassa a következő parancsot az elérhető módszerek áttekintéséhez:

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

Adatok lekérdezése a Lakehouse-ból

conn = notebookutils.data.connect_to_artifact("lakehouse_name_or_id", "optional_workspace_id", "optional_lakehouse_type")
df = conn.query("SELECT * FROM sys.schemas;")

Adatok lekérdezése a Warehouse-ból

conn = notebookutils.data.connect_to_artifact("warehouse_name_or_id", "optional_workspace_id", "optional_warehouse_type")
df = conn.query("SELECT * FROM sys.schemas;")

Adatok lekérdezése SQL-adatbázisból

conn = notebookutils.data.connect_to_artifact("sqldb_name_or_id", "optional_workspace_id", "optional_sqldatabase_type") 
df = conn.query("SELECT * FROM sys.schemas;")

Note

A NotebookUtils adat-segédprogramjai egyelőre csak Python-jegyzetfüzetekben érhetők el.

Kódrészletek böngészése

Hasznos Python-kódrészleteket találhat a Szerkesztés lapon - >Kódrészletek tallózása, és most új Python-minták érhetők el. A Python-kódrészletből megtanulhatja, hogyan kezdheti meg a jegyzetfüzet feltárását.

Képernyőkép a Python-kódrészletek tallózásának helyéről.

A szemantikai kapcsolat egy olyan funkció, amellyel kapcsolatot létesíthet a szemantikai modellek és a Synapse Data Science között a Microsoft Fabricben. A Python-jegyzetfüzet nativ módon támogatja. A BI-mérnökök és a Power BI-fejlesztők egyszerűen használhatják a szemantikai hivatkozásokat, és kezelhetik a szemantikai modellt. A szemantikai hivatkozásról a nyilvános dokumentumból tájékozódhat.

Visualization

A kódtárakat tartalmazó diagramok rajzolása mellett a beépített vizualizációs függvény lehetővé teszi, hogy a DataFrame-eket gazdag formátumú adatvizualizációkká alakítsa. A display() függvényt adatkereteken használhatja a gazdag adatkeret-táblázatnézet és diagramnézet létrehozásához.

Képernyőkép a Python-jegyzetfüzet vizualizációs felületének megjelenítéséről.

Note

A diagramkonfigurációk megmaradnak a Python-jegyzetfüzetben, ami azt jelenti, hogy a kódcella újrafuttatása után, ha a cél adatkeretséma nem változik, a mentett diagramok továbbra is megmaradnak.

Kód intelliSense

A Python-jegyzetfüzet nyelvi kiszolgálóként a Pylance-t is használja. További információ: A Python fejlesztése a Pylance használatával.

Adatelemzési képességek

Látogasson el a Data Science dokumentációjához a Microsoft Fabric-ben, hogy többet megtudjon a Fabric adatelemzési és AI-tapasztalatairól. Az alábbiakban felsorolunk néhány kulcsfontosságú adatelemzési funkciót, amelyek natív módon támogatottak a Python-jegyzetfüzetben.

  • Data Wrangler: A Data Wrangler egy jegyzetfüzet-alapú eszköz, amely modern felületet biztosít a feltárási adatok elemzéséhez. Ez a funkció kombinálja a rácsszerű adatmegjelenítést dinamikus összefoglaló statisztikákkal, beépített vizualizációkkal és gyakori adattisztítási műveletek tárával. Adattisztítást, adatátalakítást és integrációt biztosít, amely felgyorsítja az adatok előkészítését a Data Wranglerrel.

  • MLflow: A gépi tanulási kísérlet az összes kapcsolódó gépi tanulási futtatás szervezetének és vezérlésének elsődleges egysége. A futtatás a modellkód egyetlen végrehajtásának felel meg.

  • Fabric automatikus naplózása: A Microsoft Fabric Synapse Data Science szolgáltatása magában foglalja az automatikus naplózást, ami a betanítás során jelentősen csökkenti a gépi tanulási modell paramétereinek, metrikáinak és elemeinek automatikus naplózásához szükséges kód mennyiségét.

    Az automatikus naplózás kibővíti az MLflow-nyomkövetési képességeket. Az automatikus naplózás különböző metrikákat rögzíthet, beleértve a pontosságot, a hibát, az F1 pontszámot és az Ön által definiált egyéni metrikákat. Az autologging használatával a fejlesztők és az adattudósok könnyedén nyomon követhetik és összehasonlíthatják a különböző modellek és kísérletek teljesítményét manuális nyomon követés nélkül.

  • Copilot: A Copilot for Data Science and Data Engineering notebooks egy AI-asszisztens, amely segít az adatok elemzésében és megjelenítésében. Lakehouse-táblákkal, Power BI-adatkészletekkel és pandas/spark adatkeretekkel működik, és közvetlenül a jegyzetfüzetben kínál válaszokat és kódrészleteket. Használhatja a Copilot csevegőpanelt és a char-magicst a jegyzetfüzetben, és az AI válaszokat vagy kódot biztosít a jegyzetfüzetbe való másoláshoz.

A nyilvános előzetes verzió ismert korlátozásai

  • Az élő környezet élménye nem garantált minden Python-jegyzetfüzet-futtatásnál. A munkamenet kezdési ideje akár 3 percet is igénybe vehet, ha a jegyzetfüzet futtatása nem találja meg az aktív erőforráskészletet. A Python-jegyzetfüzetek használatának növekedésével az intelligens készletezési módszereink fokozatosan növelik az élő készlet lefoglalását az igényeknek megfelelően.

  • A környezetintegráció nyilvános előzetes verzióban nem érhető el a Python-jegyzetfüzetben.

  • A munkamenet időtúllépésének beállítása jelenleg nem érhető el.

  • A Copilot létrehozhat Spark-utasítást, amely nem futtatható a Python-jegyzetfüzetben.

  • A Python-jegyzetfüzeten futó Copilot jelenleg nem támogatott teljes mértékben több régióban. Az üzembe helyezési folyamat továbbra is folyamatos, mivel továbbra is több régióban helyezzük el a támogatást.