Microsoft Fabric-jegyzetfüzetek fejlesztése, végrehajtása és kezelése
A Microsoft Fabric-jegyzetfüzet egy elsődleges kódelem Apache Spark-feladatok és gépi tanulási kísérletek fejlesztéséhez. Ez egy webes interaktív felület, amelyet az adattudósok és az adatmérnökök használnak a gazdag vizualizációk és Markdown-szövegek előnyeit kihasználó kód megírására. Ez a cikk bemutatja, hogyan fejleszthet jegyzetfüzeteket kódcellás műveletekkel, és hogyan futtathatja őket.
Fontos
A Microsoft Fabric jelenleg előzetes verzióban érhető el. Ezek az információk egy előzetes termékre vonatkoznak, amely a kiadás előtt lényegesen módosulhat. A Microsoft nem vállal kifejezett vagy vélelmezett garanciát az itt megadott információkra vonatkozóan.
Jegyzetfüzetek fejlesztése
A jegyzetfüzetek cellákból állnak, amelyek önállóan vagy csoportként futtatható kód- vagy szövegblokkok.
Gazdag műveleteket biztosítunk a jegyzetfüzetek fejlesztéséhez:
- Cella hozzáadása
- Elsődleges nyelv beállítása
- Több nyelv használata
- IDE-stílusú IntelliSense
- Kódrészletek
- Kódrészletek beszúrása húzással
- Képek beszúrása húzással
- Szövegcella formázása eszköztárgombokkal
- Cellaművelet visszavonása vagy ismételt végrehajtása
- Cella áthelyezése
- Cella törlése
- Cellabemenet összecsukása
- Cellakimenet összecsukása
- Cella zárolása vagy rögzítése
- Jegyzetfüzet tartalma
- Markdown összecsukható
- Keresés és csere
Cella hozzáadása
Többféleképpen is felvehet új cellát a jegyzetfüzetbe.
Vigye az egérmutatót a két cella közötti térköz fölé, és válassza a Kód vagy a Markdown lehetőséget.
Parancs módban használja a billentyűparancsokat. Az A billentyűt lenyomva szúrjon be egy cellát az aktuális cella fölé. A B billentyűt lenyomva szúrjon be egy cellát az aktuális cella alá.
Elsődleges nyelv beállítása
A Microsoft Fabric-jegyzetfüzetek jelenleg négy Apache Spark-nyelvet támogatnak:
- PySpark (Python)
- Spark (Scala)
- Spark SQL
- SparkR
Az új hozzáadott cellák elsődleges nyelvét a felső parancssáv legördülő listájából állíthatja be.
Több nyelv használata
A jegyzetfüzetekben több nyelvet is használhat, ha megadja a nyelvvarázsló parancsot a cella elején, és a cella nyelvét is átállíthatja a nyelvválasztóról. Az alábbi táblázat a cellanyelvek közötti váltáshoz használható mágikus parancsokat sorolja fel.
Magic parancs | Nyelv | Leírás |
---|---|---|
%%pyspark | Python | Python-lekérdezés végrehajtása a Spark-környezettel. |
%%spark | Scala | Scala-lekérdezés végrehajtása a Spark-környezetben. |
%%sql | SparkSQL | SparkSQL-lekérdezés végrehajtása a Spark-környezetben. |
%%html | HTML | HTML-lekérdezés végrehajtása a Spark-környezetben. |
%%sparkr | R | Futtass egy R-lekérdezést a Spark-környezetben. |
Az alábbi képen egy példa látható arra, hogyan írhat PySpark-lekérdezést a %%pyspark magic paranccsal egy Spark(Scala) jegyzetfüzetben. Figyelje meg, hogy a jegyzetfüzet elsődleges nyelve PySparkra van állítva.
IDE-stílusú IntelliSense
A Microsoft Fabric-jegyzetfüzetek integrálva vannak a Monaco szerkesztővel, hogy IDE-stílusú IntelliSense-t hozzanak a cellaszerkesztőbe. A szintaxis kiemelése, a hibajelölők és az automatikus kódkiegészítések segítenek a kód írásában és a problémák gyorsabb azonosításában.
Az IntelliSense funkciói különböző fejlettségi szinteken érhetők el a különböző nyelvekhez. Az alábbi táblázat a támogatott műveletet mutatja be:
Nyelvek | Szintaxis kiemelése | Szintaktikai hibajelölő | Szintaktikai kódkiegészítés | Változókód kitöltése | Rendszerfüggvény kódjának befejezése | Felhasználói függvény kódjának kitöltése | Intelligens behúzás | Kódátadás |
---|---|---|---|---|---|---|---|---|
PySpark (Python) | Igen | Igen | Igen | Igen | Igen | Igen | Igen | Yes |
Spark (Scala) | Igen | Igen | Igen | Igen | Igen | Igen | Igen | Yes |
SparkSQL | Igen | Igen | Igen | Igen | Igen | Nem | Igen | Yes |
SparkR | Igen | Igen | Igen | Igen | Igen | Igen | Igen | Yes |
Megjegyzés
Az IntelliSense kódkiegészítésének használatához aktív Spark-munkamenetre van szükség.
Kódrészletek
A Microsoft Fabric-jegyzetfüzetek olyan kódrészleteket biztosítanak, amelyek segítenek a gyakran használt kódminták egyszerű megírásában, például:
- Adatok olvasása Spark-adatkeretként, vagy
- Diagramok rajzolása Matplotlib használatával.
A kódrészletek az IntelliSense IDE stílusú billentyűparancsaiban jelennek meg, más javaslatokkal keverve. A kódrészletek tartalma a kódcella nyelvéhez igazodik. Az elérhető kódrészletek megtekintéséhez írja be a kódrészletet , vagy a kódrészlet címében bármely kulcsszó megjelenik a kódcella-szerkesztőben. Az olvasás beírásával például megtekintheti a különböző adatforrásokból származó adatok beolvasásához szükséges kódrészletek listáját.
Kódrészletek beszúrása húzással
Húzással kényelmesen olvashat adatokat a Lakehouse Explorerből. Itt több fájltípus is támogatott, szövegfájlokon, táblázatokon, képeken stb. végezhet műveleteket. Egy meglévő cellára vagy egy új cellára is elvetheti azokat. A jegyzetfüzet ennek megfelelően hozza létre a kódrészletet az adatok előnézetének megtekintéséhez.
Képek beszúrása húzással
Húzással kényelmesen szúrhat be képeket a böngészőből vagy a helyi számítógépről egy Markdown-cellába.
Szövegcella formázása eszköztárgombokkal
A szövegcellák eszköztárának formátumgombjaival elvégezheti a gyakori markdown-műveleteket.
Cellaművelet visszavonása vagy ismételt végrehajtása
Válassza a Visszavonás vagy az Ismétlés gombot, vagy nyomja le a Z vagy a Shift+Z billentyűkombinációt a legutóbbi cellaműveletek visszavonásához. Visszavonhatja vagy megismételheti a legutóbbi 10 előzménycella-műveletet.
Támogatott visszavonási cellaműveletek:
- Cella beszúrása vagy törlése: A Törlés gombra kattintva visszavonhatja a törlési műveleteket, és a szöveg tartalma a cellával együtt marad.
- Cella átrendezés.
- Paraméter váltógombja.
- Konvertálás kódcella és Markdown-cella között.
Megjegyzés
A cellában lévő szövegműveleteket és a kódcellák megjegyzési műveleteit nem lehet visszavonni. Visszavonhatja vagy megismételheti a legutóbbi 10 előzménycella-műveletet.
Cella áthelyezése
A cella üres részéből húzással a kívánt helyre helyezheti.
A kijelölt cellát a menüszalag Fel és Lejjebb lépés lehetőségével is áthelyezheti.
Cella törlése
Cella törléséhez kattintson a cella jobb oldalán található Törlés gombra.
Parancsmódban billentyűparancsokat is használhat. Az aktuális cella törléséhez nyomja le a Shift+D billentyűkombinációt .
Cellabemenet összecsukása
Válassza a További parancsok három pontot (...) a cella eszköztárán, és a Bemenet elrejtése lehetőséget az aktuális cella bemenetének összecsukásához. A kibontásához válassza a Bemenet megjelenítése a cella összecsukása közben lehetőséget.
Cellakimenet összecsukása
Válassza a További parancsok három pontot (...) a cella eszköztárán, és a Kimenet elrejtése lehetőséget az aktuális cella kimenetének összecsukásához. A kibontásához jelölje ki a Kimenet megjelenítése , amíg a cella kimenete rejtett.
Cella zárolása vagy rögzítése
A cellazárolási és -rögzítési műveletek lehetővé teszik, hogy a cellákat írásvédetté tegye, vagy megakadályozza, hogy a kódcellák külön cella alapján fussanak.
Jegyzetfüzet tartalma
A Vázlatok vagy a Tartalomjegyzék az oldalsávablakban lévő markdown-cellák első Markdown-fejlécét jeleníti meg a gyors navigációhoz. A Vázlatok oldalsáv átméretezhető és összecsukható, hogy a lehető legjobban illeszkedjen a képernyőhöz. Az oldalsáv megnyitásához vagy elrejtéséhez válassza a jegyzetfüzet parancssávjának Tartalom gombját.
Markdown összecsukható
A markdown-összecsukással elrejtheti a címsort tartalmazó markdown-cellák alatti cellákat. A Markdown-cella és annak rejtett cellái ugyanúgy lesznek kezelve, mint egy folytonos, több kijelölt cella halmaza cellaműveletek végrehajtásakor.
Keresés és csere
A Keresés és csere funkcióval egyszerűen egyeztetheti és megkeresheti a kulcsszavakat vagy kifejezéseket a jegyzetfüzet tartalmában, és lecserélheti a célsztringet egy új sztringre.
Jegyzetfüzetek futtatása
A jegyzetfüzet kódcellái egyenként vagy egyszerre is futtathatók. Az egyes cellák állapota és állapota a jegyzetfüzetben jelenik meg.
Cella futtatása
A kód többféleképpen is futtatható egy cellában.
Vigye az egérmutatót a futtatni kívánt cellára, és válassza a Cella futtatása gombot, vagy nyomja le a Ctrl+Enter billentyűkombinációt.
Parancs módban használja a billentyűparancsokat. Nyomja le a Shift+Enter billentyűkombinációt az aktuális cella futtatásához, és jelölje ki a következő cellát. Nyomja le az Alt+Enter billentyűkombinációt az aktuális cella futtatásához és egy új cella beszúrásához.
Az összes cella futtatása
Válassza az Összes futtatása gombot az aktuális jegyzetfüzet összes cellájának egymás utáni futtatásához.
Az összes cella futtatása az alatt vagy fölött
Bontsa ki a legördülő listát az Összes futtatása gombból, majd válassza a Fenti cellák futtatása lehetőséget az aktuális fölötti cellák egymás utáni futtatásához. Válassza az alábbi Cellák futtatása lehetőséget az aktuális cella és az aktuális alatt lévő összes cella egymás utáni futtatásához.
Az összes futó cella megszakítása
Válassza az Összes megszakítása gombot az üzenetsorban várakozó futó cellák vagy cellák megszakításához.
Munkamenet leállítása
A leállítási munkamenet megszakítja a futó és várakozó cellákat, és leállítja az aktuális munkamenetet. Ha ismét a Futtatás gombra kattint, újraindíthat egy teljesen új munkamenetet.
Jegyzetfüzet-referencia futtatása
Az mssparkutils referenciafuttatási API használata mellett a magic paranccsal egy másik jegyzetfüzetre is %run <notebook name>
hivatkozhat az aktuális jegyzetfüzet környezetében. A referencia-jegyzetfüzetben definiált összes változó elérhető az aktuális jegyzetfüzetben. %run
A magic parancs támogatja a beágyazott hívásokat, de nem támogatja a rekurzív hívásokat. Kivételt fog kapni, ha az utasítás mélysége ötnél nagyobb.
Példa: %run Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
.
A jegyzetfüzet-referencia interaktív módban és folyamatként is működik.
Megjegyzés
%run
parancs jelenleg csak azokat a referenciajegyzetfüzeteket támogatja, amelyek ugyanazon a munkaterületen vannak az aktuális jegyzetfüzettel.%run
A parancs jelenleg csak 4 paraméterértéktípust támogat:int
,float
,bool
,string
változócsere művelet nem támogatott.%run
parancs nem támogatja az ötnél nagyobb mélységű beágyazott hivatkozást.
Változókezelő
A Microsoft Fabric-jegyzetfüzet tartalmaz egy beépített változókezelőt, amely a PySpark-cellák aktuális Spark-munkamenetében lévő változók nevét, típusát, hosszát és értékét tartalmazza. A további változók automatikusan megjelennek a kódcellákban definiált módon. Az egyes oszlopfejlécekre kattintva rendezheti a tábla változóit.
A változókezelő megnyitásához vagy elrejtéséhez a jegyzetfüzet menüszalagjának "Nézet" lapján válassza a Változók gombot.
Megjegyzés
A Változókezelő csak a Pythont támogatja.
Cellaállapot-jelző
A cella alatt egy lépésenkénti cellavégrehajtási állapot jelenik meg, amely segít az aktuális folyamat megtekintésében. A cellafuttatás befejezése után megjelenik egy végrehajtási összegzés, amely tartalmazza a teljes időtartamot és a befejezési időt, és ott tárolja a későbbi referenciaként.
Beágyazott spark-feladat mutatója
A Microsoft Fabric-jegyzetfüzet Spark-alapú. A kódcellák végrehajtása távolról történik a Spark-fürtön. Megjelenik egy Spark-feladat előrehaladási mutatója, amelyen egy valós idejű folyamatjelző látható, amely segít megérteni a feladat végrehajtási állapotát. Az egyes feladatok vagy fázisok tevékenységeinek száma segít azonosítani a Spark-feladat párhuzamos szintjét. Egy adott feladat (vagy fázis) Spark felhasználói felületét is részletesebben is megvizsgálhatja a feladat (vagy szakasz) nevének hivatkozásának kiválasztásával.
A cellaszintű valós idejű naplót is megtalálhatja a folyamatjelző mellett, a diagnosztika pedig hasznos javaslatokat nyújthat a kód pontosításához és hibakereséséhez.
A További műveletek területen egyszerűen navigálhat a Spark-alkalmazás részleteit tartalmazó lapra és a Spark webes felhasználói felületére .
Titkos kulcsok kitakarása
Ha meg szeretné akadályozni, hogy a hitelesítő adatok véletlenül kiszivárogjanak a jegyzetfüzetek futtatásakor, a Hálójegyzetfüzet támogatja a titkos kód újrakódolt műveletét , hogy a cellakimenetben [REDACTED]
megjelenő titkos értékeket a következőre cserélje le: , A titkos kód ismételt megadása Python, Scala és R esetén alkalmazható.
Magic-parancsok a jegyzetfüzetben
Beépített varázslatok
A hálójegyzetfüzetekben használhatja a jól ismert Ipython magic parancsokat. Tekintse át az alábbi listát az aktuálisan elérhető varázsparancsokként.
Megjegyzés
A Fabric-folyamatban csak a következő mágikus parancsok támogatottak: %%pyspark, %%spark, %%csharp, %%sql.
Elérhető vonalvariánsok: %lsmagic, %time, %timeit, %history, %run, %load, %alias, %alias_magic, %autoawait, %autocall, %automagic, %bookmark, %cd, %colors, %dhist, %dirs, %doctest_mode, %killbgscripts, %load_ext, %logoff, %logon, %logstart, %logstate, %logstop, %magic, %matplotlib, %page, %pastebin, %pdef, %pfile, %pinfo, %pinfo2, %popd, %pprint, %precision, %prun, %psearch, %psource, %pushd, %pwd, %pycat, %quickref, %rehashx, %reload_ext, %reset, %reset_selective, %sx, %system, %tb, %unalias, %unload_ext, %who, %who_ls, %who's, %xdel, %xmode.
A hálójegyzetfüzet támogatja a továbbfejlesztett könyvtárkezelési parancsokat ( %pip, %conda). A használatért tekintse meg az Apache Spark-kódtárak kezelése a Microsoft Fabricben című témakört.
Elérhető cellavariációk: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%html, %%bash, %%markdown, %%perl, %%script, %%sh.
Egyéni varázslatok
Az alábbi példában látható módon további egyéni varázsparancsokat is létrehozhat az igényeinek megfelelően.
- Hozzon létre egy "MyLakehouseModule" nevű jegyzetfüzetet.
- Egy másik jegyzetfüzetben hivatkozhat a "MyLakehouseModule" kifejezésre és annak varázsparancsára, így a projektet kényelmesen, különböző nyelveket használó jegyzetfüzetekkel rendszerezheti.
IPython-vezérlők
Az IPython-widgetek eseménydús Python-objektumok, amelyek a böngészőben vannak ábrázolva. Az IPython-vezérlőket alacsony kódú vezérlőként (például csúszka, szövegdoboz) használhatja a jegyzetfüzetben, ugyanúgy, mint a Jupyter-notebookot, jelenleg csak Python-környezetben működik.
Az IPython Widget használata
Először importálnia kell az ipywidgets modult a Jupyter Widget keretrendszer használatához.
import ipywidgets as widgets
A felső szintű megjelenítési függvénnyel megjeleníthet egy widgetet, vagy a vezérlőtípus kifejezését a kódcella utolsó sorában hagyhatja.
slider = widgets.IntSlider() display(slider)
Futtassa a cellát, és a widget megjelenik a kimeneti területen.
slider = widgets.IntSlider() display(slider)
Több display() hívással többször is megjelenítheti ugyanazt a widgetpéldányt, de szinkronban maradnak egymással.
slider = widgets.IntSlider() display(slider) display(slider)
Két, egymástól független widget megjelenítéséhez hozzon létre két widgetpéldányt:
slider1 = widgets.IntSlider() slider2 = widgets.IntSlider() display(slider1) display(slider2)
Támogatott widgetek
Widgetek típusa | Vezérlők |
---|---|
Numerikus widgetek | IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText |
Logikai vezérlők | ToggleButton, Checkbox, Valid |
Kiválasztási vezérlők | Legördülő menü, Választógombok, Kiválasztás, KijelölésSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple |
Sztring widgetek | Szöveg, Szövegterület, Kombinált lista, Jelszó, Címke, HTML, HTML matematikai, kép, gomb |
Lejátszási (animációs) vezérlők | Dátumválasztó, színválasztó, vezérlő |
Tároló- vagy elrendezési vezérlők | Box, HBox, VBox, GridBox, Harmonika, Fülek, Halmozott |
Ismert korlátozások
A következő vezérlők még nem támogatottak, a megfelelő kerülő megoldást az alábbiak szerint követheti:
Funkció Áthidaló megoldás Kimeneti vezérlő A print() függvényt használhatja a szöveg stdoutba való írásához. widgets.jslink() A widgets.link() függvénnyel két hasonló widgetet kapcsolhat össze. FileUpload widget Még nem támogatott. A Microsoft Fabric által biztosított globális megjelenítési függvény nem támogatja több widget egyetlen hívásban való megjelenítését (pl. display(a, b)), amely különbözik az IPython megjelenítési függvényétől.
Ha bezár egy IPython Widgetet tartalmazó jegyzetfüzetet, nem láthatja vagy használhatja, amíg újra nem hajtja végre a megfelelő cellát.
Python-naplózás a jegyzetfüzetben
A Python-naplókat megtalálhatja, és különböző naplószinteket és formátumokat állíthat be, mint az itt látható mintakód:
import logging
# Customize the logging format for all loggers
FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
formatter = logging.Formatter(fmt=FORMAT)
for handler in logging.getLogger().handlers:
handler.setFormatter(formatter)
# Customize log level for all loggers
logging.getLogger().setLevel(logging.INFO)
# Customize the log level for a specific logger
customizedLogger = logging.getLogger('customized')
customizedLogger.setLevel(logging.WARNING)
# logger that use the default global log level
defaultLogger = logging.getLogger('default')
defaultLogger.debug("default debug message")
defaultLogger.info("default info message")
defaultLogger.warning("default warning message")
defaultLogger.error("default error message")
defaultLogger.critical("default critical message")
# logger that use the customized log level
customizedLogger.debug("customized debug message")
customizedLogger.info("customized info message")
customizedLogger.warning("customized warning message")
customizedLogger.error("customized error message")
customizedLogger.critical("customized critical message")
Jegyzetfüzet integrálása
Paramétercella kijelölése
A jegyzetfüzet paraméterezéséhez válassza a három pontot (...) a további parancsok eléréséhez a cella eszköztárán. Ezután válassza a Paramétercella váltása lehetőséget a cella paramétercelláként való kijelöléséhez.
A paramétercella hasznos a jegyzetfüzet folyamatba való integrálásához, a folyamattevékenység megkeresi a paraméterek celláját, és ezt a cellát a végrehajtási időpontban átadott paraméterek alapértelmezettként kezeli. A végrehajtási motor egy új cellát ad hozzá a paramétercella alá bemeneti paraméterekkel, hogy felülírja az alapértelmezett értékeket.
Billentyűparancsok
A Jupyter Notebookokhoz hasonlóan a Microsoft Fabric-jegyzetfüzetek is rendelkeznek modális felhasználói felülettel. A billentyűzet különböző dolgokat végez attól függően, hogy a jegyzetfüzetcella milyen módban van. A Microsoft Fabric-jegyzetfüzetek az alábbi két módot támogatják egy adott kódcella esetében: a parancsmódot és a szerkesztési módot.
A cellák parancsmódban vannak, ha nincs szövegkurzor, amely a beírást kéri. Ha egy cella Parancs módban van, szerkesztheti a jegyzetfüzet egészét, de nem írhat be egyes cellákba. Írja be a parancsmódot az ESC billentyű lenyomásával, vagy az egérrel a cella szerkesztőterületén kívülre.
A szerkesztési mód egy szövegkurzorból jelezhető, amely a szerkesztőterületen való beírást kéri. Ha egy cella szerkesztési módban van, beírhatja a cellába. A szerkesztési mód megadásához nyomja le az Enter billentyűt, vagy az egérrel jelölje ki a cellát a szerkesztőterületen.
Billentyűparancsok parancsmódban
Művelet | Jegyzetfüzet-billentyűparancsok |
---|---|
Futtassa az aktuális cellát, és válassza az alábbiakat | Shift+Enter |
Futtassa az aktuális cellát, és szúrja be az alábbiakat | Alt+Enter |
Aktuális cella futtatása | Ctrl+Enter |
A fenti cella kijelölése | Fel |
Jelölje ki az alábbi cellát | Le |
Előző cella kijelölése | K |
Következő cella kijelölése | J |
Cella beszúrása felülre | A |
Cella beszúrása alá | B |
Kijelölt cellák törlése | Shift +D |
Váltás szerkesztési módra | Enter |
Billentyűparancsok szerkesztési módban
Az alábbi billentyűparancsokkal könnyebben navigálhat és futtathat kódot a Microsoft Fabric-jegyzetfüzetekben Szerkesztés módban.
Művelet | Jegyzetfüzet-billentyűparancsok |
---|---|
Kurzor mozgatása felfelé | Fel |
A kurzor mozgatása lefelé | Le |
Visszavonás | Ctrl + Z |
Ismétlés | Ctrl + Y |
Megjegyzés vagy megjegyzés feloldása | Ctrl + / |
Szó törlése a korábbiakban | Ctrl + Backspace |
Szó törlése utána | Ctrl + Törlés |
Ugrás a cella elejére | Ctrl + Home |
Ugrás a cella végére | Ctrl + End |
Ugrás egy szóval balra | Ctrl + Balra |
Ugrás egy szóval jobbra | Ctrl + Jobbra |
Az összes kijelölése | Ctrl + A |
Behúzás | Ctrl + ] |
Dedent | Ctrl + [ |
Váltás parancsmódra | Esc |
Könnyedén megtalálhatja az összes billentyűparancsot a jegyzetfüzet menüszalagjának Nézet –>Billentyűkötések lapján.