Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A Microsoft Fabric-jegyzetfüzet az Apache Spark-feladatok és gépi tanulási kísérletek fejlesztésének elsődleges kódeleme. Ez egy webes interaktív felület, amelyet adattudósok és adatszakértők használnak a gazdag vizualizációk és Markdown-szövegek előnyeit kihasználó kód írásához. Ez a cikk bemutatja, hogyan fejleszthet jegyzetfüzeteket kódcellaműveletekkel, és hogyan futtathatja őket.
Fejlesszen jegyzetfüzeteket
A jegyzetfüzetek cellákból állnak, amelyek önálló kód- vagy szövegblokkok, amelyek egymástól függetlenül vagy csoportként futtathatók.
Gazdag műveleteket kínálunk a jegyzetfüzetek kidolgozásához.
- Cella hozzáadása
- Elsődleges nyelv beállítása
- Több nyelv használata
- IDE szerinti IntelliSense
- Kódminták
- Kódrészletek beszúrása húzással
- Képek húzása és behelyezése
- 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
- Egy cellakimenet összecsukása
- Cellakimenet biztonsága
- Cella zárolása vagy rögzítése
- Jegyzetfüzet tartalma
- Markdown összecsukás
- Keresés és csere
- Teljes képernyős mód a cellán
Cella hozzáadása
Többféle lehetőségek vannak új cella felvételére a jegyzetfüzetében.
Mutasson a két cella közötti térközre, és válassza a Kód vagy a Markdown lehetőséget.
Billentyűparancsok használata parancs módban. 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 háló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 a cella elején található nyelvvarázsló parancs megadásával. A cellanyelvet a nyelvválasztóról is módosíthatja. Az alábbi táblázat a cellanyelvek közötti váltáshoz szükséges mágikus parancsokat sorolja fel.
| Magic parancs | Nyelv | Leírás |
|---|---|---|
| %%pyspark | Python | Python-lekérdezés végrehajtása az Apache Spark-környezettel. |
| %%spark | Scala | Scala-lekérdezés végrehajtása az Apache Spark-környezettel. |
| %%sql | SparkSQL | SparkSQL-lekérdezés végrehajtása az Apache Spark-környezettel. |
| %%html | Html | Hajtsa végre az HTML-lekérdezést az Apache Spark-környezettel. |
| %%sparkr | R | R-lekérdezés végrehajtása az Apache Spark-környezettel. |
IDE-stílusú IntelliSense
A szövet jegyzetfüzetek integrálva vannak a Monaco szerkesztővel, hogy az IDE-stílusú IntelliSense elérhető legyen a cellaszerkesztőben. A szintaxis kiemelése, a hibajelölő és az automatikus kódkiegészítések segítségével gyorsan írhat kódot, és azonosíthatja a problémákat.
Az IntelliSense funkciói különböző fejlettségi szinteken érhetők el a különböző nyelvek esetében. Az alábbi táblázat a Fabric által támogatott műveletet mutatja be:
| Nyelvek | Szintaxiskiemelés | Szintaxis hibajelölője | Szintaxiskód kitöltése | Változókód kitöltése | A 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ódrészletek összecsukása |
|---|---|---|---|---|---|---|---|---|
| PySpark (Python) | Igen | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| Python | Igen | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| Spark (Scala) | Igen | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| SparkSQL | Igen | Igen | Igen | Igen | Igen | Nem | Igen | Igen |
| SparkR | Igen | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
| T-SQL | Igen | Igen | Igen | Nem | Igen | Igen | Igen | Igen |
Megjegyzés
Az IntelliSense-kódkiegészítés használatához aktív Apache Spark-munkamenetre van szükség.
Python-fejlesztés fejlesztése a Pylance használatával
A Pylance, egy hatékony és funkciókban gazdag nyelvi kiszolgáló már elérhető a Fabric notebookban. A Pylance intelligens kiegészítésekkel, jobb hibaészleléssel és továbbfejlesztett kódelemzésekkel teszi egyszerűbbé a Python fejlesztését. A legfontosabb fejlesztések közé tartozik az intelligensebb automatikus kiegészítés, a továbbfejlesztett lambda-támogatás, a paraméterjavaslatok, a továbbfejlesztett rámutatási információk, a jobb docstring renderelés és a hibakiemelés. A Pylance használatával a Python- és PySpark-kód írása gyorsabb, pontosabb és hatékonyabb lesz.
Kódrészletek
A hálójegyzetfüzetek olyan kódrészleteket biztosítanak, amelyek megkönnyítik a gyakran használt kódminták írását, például:
- Adatok olvasása Apache Spark DataFrame-ként
- Diagramok rajzolása Matplotlib használatával
A kivágatok megjelennek az IDE stílusú IntelliSense gyorsbillentyűi között más javaslatokkal keverve. A kódrészlet tartalma igazodik a kódcella nyelvéhez. A rendelkezésre álló kódrészleteket a kódrészlet beírásával tekintheti meg. Bármilyen kulcsszót begépelhet a releváns kódrészletek listájának megtekintéséhez. Ha például beírja az olvasást, a kódrészletek listája jelenik meg a különböző adatforrásokból származó adatok beolvasásához.
Húzza és ejtse be a kódrészletek beszúrásához.
Az adatokat kényelmesen beolvashatja a Lakehouse Explorerből a húzza és ejtse módszer használatával. Több fájltípus is támogatott itt; szövegfájlokon, táblázatokon, képeken stb. végezhet műveleteket. Elhelyezheti egy meglévő vagy egy új cellában. A jegyzetfüzet ennek megfelelően létrehozza a kódrészletet az adatok előnézetének megtekintéséhez.
Képek húzással és ejtéssel való beszúrása
Az húzással egyszerűen 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 gyakori markdown-műveletek végrehajtásához használja a formázási gombokat a szövegcella eszköztárában.
Cellaműveletek visszavonása vagy újra végrehajtása
Válassza a Visszavonás vagy az Ismétlés lehetőséget, vagy nyomja le a Z vagy a Shift+Z billentyűkombinációt a legutóbbi cellaműveletek visszavonásához. A legutóbbi cellaműveletek közül legfeljebb 10 visszavonható vagy újra elvégezhető.
A visszavonáshoz támogatott cellaműveletek:
- Cella beszúrása vagy törlése A törölt műveleteket visszavonhatja a Visszavonás lehetőséggel (a szöveges tartalom a cellával együtt megmarad).
- Cella átrendezése
- Váltóparaméter.
- Konvertálás a kódcella és a 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. A legutóbbi cellaműveletek közül legfeljebb 10 visszavonható vagy újra elvégezhető.
Cella áthelyezése
A cella üres részéből húzással a kívánt helyre helyezheti.
A kijelölt cellát felfelé és lefelé mozgatva is áthelyezheti a menüszalagon.
Cella törlése
Cella törléséhez kattintson a cella jobb oldalán található Törlés gombra.
Billentyűparancsokat is használhat parancsmódban. Az aktuális cella törléséhez nyomja le kétszer a D,D (D) billentyűt.
Cella bemenetének összecsukása
Válassza a További parancsok három pontot (...) a cella eszköztárán, és a Bemenet elrejtése parancsot az aktuális cella bemenetének összecsukásához. Ha ismét ki szeretné bontani, válassza a Bemenet megjelenítése lehetőséget, amikor a cella össze van csukva.
Összevonni egy cella kimenetét
Válassza a További parancsok... lehetőséget a cella eszköztárán, majd a Kimenet elrejtése opciót az aktuális cella kimenetének összecsukásához. Ha ismét ki szeretné bontani, válassza a Kimenet megjelenítése lehetőséget, amikor a cellakimenet össze van csukva.
Cellakimenet biztonsága
A OneLake adathozzáférési szerepkörök (előzetes verzió) használatával konfigurálhatja, hogy a jegyzetfüzet-lekérdezések során csak a lakehouse adott mappáihoz férjenek hozzá. A mappákhoz vagy táblákhoz hozzáféréssel nem rendelkező felhasználók jogosulatlan hibát tapasztalnak a lekérdezés végrehajtása során.
Fontos
A biztonság csak a lekérdezés végrehajtása során érvényes. A lekérdezési eredményeket tartalmazó jegyzetfüzetcellák olyan felhasználók számára tekinthetők meg, akik nem jogosultak közvetlenül lekérdezéseket futtatni az adatokon.
Cella zárolása vagy rögzítése
A zárolás és fagyasztás cellaműveletek lehetővé teszik, hogy a cellák írásvédettek legyenek vagy megakadályozzák a kódcellák futtatását önálló alapon.
Cellák egyesítése és felosztása
A kapcsolódó cellák kényelmes egyesítéséhez használhatja az Egyesítés az előző cellával vagy a Következő cellával való egyesítést.
A Felosztás cella kiválasztásával az irreleváns utasításokat több cellára oszthatja fel. A művelet a kurzor vonalpozíciója szerint osztja fel a kódot.
Jegyzetfüzet tartalma
Ha kijelöli a vázlatok vagy a tartalomjegyzék lehetőséget, az oldalsáv ablakában lévő markdown-cellák első markdown-fejlécét jeleníti meg a gyors navigáláshoz. 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 csukás
A markdown-összecsukási beállítással elrejtheti a fejlécet tartalmazó Markdown-cella alatti cellákat. A Markdown cella és rejtett cellái ugyanúgy kezelendők, mint egy összefüggő, többszörösen kijelölt cellakészlet a cellaműveletek végrehajtásakor.
Keresés és csere
A keresés és csere lehetőség segíthet a kulcsszavak vagy kifejezések egyeztetésében és megkeresésében a jegyzetfüzet tartalmában. A célsztringet egyszerűen lecserélheti egy új sztringre.
Teljes képernyős mód egy cellában
A teljes méretű mód lehetővé teszi, hogy a kód írására és szerkesztésére összpontosítson egyetlen cellán belül – tökéletes a hosszú vagy összetett logikához. Ezt a módot úgy válthatja ki, hogy a cella eszköztárában a Cella kibontása gombra kattintva kibontja a cellát, majd az alapértelmezett méretre való visszalépés gombra kattintva kilép.
Copilot beágyazott kód befejezése (előzetes verzió)
A Copilot beágyazott kódkiegészítés egy AI-alapú funkció, amellyel gyorsabban és hatékonyabban írhat Python-kódot a Fabric Notebookokban. Ez a funkció intelligens, környezettudatos kódjavaslatokat biztosít a kód beírása során. Csökkenti az ismétlődő feladatokat, minimalizálja a szintaxishibákat, és felgyorsítja a fejlesztést azáltal, hogy zökkenőmentesen integrálható a jegyzetfüzet munkafolyamatába.
Fő előnyök
- AI-alapú befejezések: Javaslatokat hoz létre a jegyzetfüzet környezete alapján egy több millió sornyi kódra betanított modell használatával.
- Növeli a termelékenységet: Segít összetett függvények írásában, csökkenti az ismétlődő kódolást, és felgyorsítja a ismeretlen kódtárak feltárását.
- Csökkenti a hibákat: Intelligens, környezettudatos befejezésekkel minimalizálja az elírásokat és a szintaxishibákat.
- Minimális beállítás: Beépített Fabric-jegyzetfüzetek, és nincs szükség telepítésre. Egyszerűen engedélyezheti, és elkezdheti a kódolást.
Hogyan működik?
Engedélyezze a beágyazott kódjavaslatokat a jegyzetfüzet alján található kapcsolóval.
A beíráskor a javaslatok világosszürkében jelennek meg, és a Tab billentyű lenyomásával elfogadhatja vagy módosíthatja a javaslatokat. A javaslatok a korábbi jegyzetfüzetcellákon alapulnak.
Megjegyzés
A Copilot beágyazott kódkiegészítésének engedélyezése több kapacitásegységet használ fel.
Jelenlegi korlátozások
- A Copilot Inline Code Completion jelenleg támogatja a Python nyelvét, és a korábbi cellák és Lakehouse-sémák környezetét használja.
- A javaslatok figyelembe veszik a Lakehouse-sémákból származó adatokat.
- Csak a sémaelemek egy részhalmazát használja a rendszer, ha sok tábla vagy oszlop van.
- A dinamikusan létrehozott táblák (a Sparkon keresztül) nem felismerhetőek valós időben.
Notebookok futtatása
A jegyzetfüzet kódcellái egyenként vagy egyszerre is futtathatók. Az egyes cellák állapota és előrehaladása megjelenik a jegyzetfüzetben.
Futtass egy cellát
A kódot többféleképpen is futtathatja egy cellában.
Mutasson 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.
Billentyűparancsok használata parancs módban. 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. Az Alt+Enter billentyűkombinációval futtassa az aktuális cellát, és szúrjon be egy új cellát.
Futtassa az összes cellát
Az Összes futtatása gombra kattintva az aktuális jegyzetfüzet összes celláját egymás után futtathatja.
Az összes fenti vagy alatti cella futtatása
Bontsa ki a legördülő listát a Összes futtatása menüből, majd válassza az az aktuális fölötti cellák futtatása lehetőséget a cellák sorozatos futtatásához. Válassza az alábbi Cellák futtatása lehetőséget az aktuális cella és az aktuális alatti cellák egymás utáni futtatásához.
Minden futó cella leállítása
Válassza az Összes törlése lehetőséget a futó vagy az üzenetsorban várakozó cellák megszakításához.
Munkamenet leállítása
A munkamenet leállítása megszakítja a futó és várakozó cellákat, és leállítja az aktuális munkamenetet. A futtatási lehetőség ismételt kiválasztásával újraindíthatja a teljesen új munkamenetet.
Referencia futtatás
Jegyzetfüzet hivatkozás alapú futtatása
A notebookutils referencia-futtatási API-ja mellett a %run <notebook name> magic paranccsal egy másik jegyzetfüzetre is hivatkozhat az aktuális jegyzetfüzet környezetében. A referenciajegyzetfüzetben definiált összes változó elérhető az aktuális jegyzetfüzetben. A %run magic parancs támogatja a beágyazott hívásokat, de nem támogatja a rekurzív hívásokat. Kivételt kap, 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 csővezetékben is működik.
Megjegyzés
- A
%runparancs jelenleg csak a munkaterületen lévő referenciajegyzetfüzeteket támogatja az aktuális jegyzetfüzettel. - A
%runparancs jelenleg legfeljebb négy paraméterértéktípust támogat:int,float,boolésstring. A változócsere művelet nem támogatott. - A
%runparancs nem támogatja az ötnél nagyobb mélységű beágyazott hivatkozásokat.
Hivatkozás egy parancsfájl futtatására
A %run parancs lehetővé teszi a jegyzetfüzet beépített erőforrásaiban tárolt Python- vagy SQL-fájlok futtatását is, hogy a forráskódfájlokat kényelmesen végrehajthassa a jegyzetfüzetben.
%run [-b/--builtin -c/--current] [script_file.py/.sql] [variables ...]
Lehetőségek:
- -b/--builtin: Ez a beállítás azt jelzi, hogy a parancs megkeresi és futtatja a megadott szkriptfájlt a jegyzetfüzet beépített erőforrásaiból.
- -c/--current: Ez a beállítás biztosítja, hogy a parancs mindig az aktuális jegyzetfüzet beépített erőforrásait használja, még akkor is, ha az aktuális jegyzetfüzetre más jegyzetfüzetek hivatkoznak.
Példák:
Script_file.py futtatása a beépített erőforrásokból:
%run -b script_file.pyScript_file.sql futtatása a beépített erőforrásokból:
%run -b script_file.sqlscript_file.py futtatása beépített erőforrásokból adott változókkal:
Megjegyzés
Ha a parancs nem tartalmazza a -b/--builtin parancsot, a beépített erőforrások helyett ugyanabban a munkaterületen próbálja meg megkeresni és végrehajtani a jegyzetfüzetelemeket.
Használati példa a beágyazott futtatási esetre:
- Tegyük fel, hogy két jegyzetfüzetünk van.
- Jegyzetfüzet1: A beépített erőforrásokban tartalmazza a script_file1.py-t
- Notebook2: Beépített erőforrásai között megtalálható script_file2.py
- Használjuk a Notebook1-et főjegyzetfüzetként a következő tartalommal:
%run Notebook2. - Ezután a Notebook2-ben a használati utasítás a következő:
- A script_file1.py a Notebook1(az alapjegyzetfüzet) futtatásához a következő kód lenne:
%run -b script_file1.py - A script_file2.py futtatásához a Notebook2-ban (az aktuális jegyzetfüzet) a kód így nézne ki:
%run -b -c script_file2.py
- A script_file1.py a Notebook1(az alapjegyzetfüzet) futtatásához a következő kód lenne:
Változóböngésző
A hálójegyzetfüzetek beépített változókezelőt biztosítanak, amely megjeleníti a változók nevét, típusát, hosszát és értékét a PySpark (Python) cellák aktuális Spark-munkamenetében. A kódcellákban definiált további változók automatikusan megjelennek. Az egyes oszlopfejlécekre kattintva rendezheti a tábla változóit.
A változókezelő megnyitásához vagy elrejtéséhez válassza a Változók lehetőséget a jegyzetfüzet menüszalagjának nézetében.
Megjegyzés
A változókezelő csak a Pythont támogatja.
Cellastátuszjelző
A cella alatt lépésenkénti cellavégrehajtási állapot jelenik meg, amely segít az aktuális állapot megtekintésében. Ha a cellafuttatás befejeződött, megjelenik egy végrehajtási összegzés, amely a teljes időtartamot és a befejezési időt jeleníti meg, és a rendszer ott tárolja későbbi referenciaként.
Munkamenet állapotjelzője
Munkamenet időtúllépési konfigurációja
A bal alsó sarokban a munkamenet állapotának kiválasztásával további információt kaphat az aktuális munkamenetről:
Az előugró ablakban lehetőség van arra, hogy az időtúllépést x percre vagy x órára állítsa vissza.
Válassza ki, hogy mennyi ideig szeretne megszakítás nélküli munkamenetet, majd kattintson az alkalmaz gombra. A munkamenet időtúllépése az új értékkel újraindul, így minden rendben van!
Az időtúllépést az alábbiakban leírtak szerint is beállíthatja:
- Adatmérnöki munkaterület felügyeleti beállításai a Microsoft Fabricben
- Spark-munkamenet konfigurációs varázsparancs
Jelentkezzen be: A bejelentkezés során, ha megjelenik a Bejelentkezve maradás párbeszédpanel, válassza az Igen lehetőséget az aktuális munkamenet tétlen munkamenetének időtúllépésének inaktiválásához.
Fontos
Ne jelölje be a Ne jelenjen meg ismét jelölőnégyzetet, mert ez véglegesen zárolja a bejelentkezési beállításokat. Előfordulhat, hogy ez a beállítás nem jelenik meg, ha a bérlő rendszergazdája letiltotta a Be van jelentkezve (KMSI) beállítást.
Szabályzat módosításának kérése: Ha hosszabb munkamenet-időtartamra van szüksége, kérje meg a bérlő rendszergazdáját, hogy hosszabbítsa meg az üresjárati munkamenet időtúllépési időtartamára vonatkozó szabályzatot. Ezt úgy tehetik meg, hogy a Microsoft 365 Felügyeleti központban navigálnak a Szervezeti beállítások > Biztonsági és Adatvédelmi > Inaktív Munkamenet Időtúllépése menüpontjához.
Megjegyzés
A KMSI kiválasztása és/vagy az inaktív munkamenet időtúllépési időtartamának meghosszabbítása meghosszabbítja a zárolt gépek hozzáférésének kockázatát.
Hogyan befolyásolja az ABT és az inaktív munkamenet időtúllépés a hosszú futású Fabric Notebook végrehajtásokat?
Ha az ügyfél tevékenységalapú időtúllépést (ABT) használ, a Microsoft 365 tétlen munkamenet-időtúllépési szabályzata hatással lehet a hosszú ideig futó interaktív feladatokra a Fabric-jegyzetfüzetekben. Ez a biztonsági funkció úgy lett kialakítva, hogy a felhasználókat inaktív, nem felügyelt eszközökön is kijelentkeztethesse, még akkor is, ha egy jegyzetfüzet-feladat még fut. Bár más Microsoft 365-alkalmazásokban végzett tevékenység életben tarthatja a munkamenetet, a tétlen eszközöket a rendszer terv szerint kijelentkezteti.
Miért jelentkeznek ki a felhasználók akkor is, ha egy jegyzetfüzet-feladat még fut?
Az inaktív munkamenetek időtúllépése prioritást ad a biztonságnak azáltal, hogy inaktív eszközökön befejezi a munkameneteket a jogosulatlan hozzáférés megakadályozása érdekében. Még akkor is, ha egy jegyzetfüzet végrehajtása folyamatban van, a munkamenet akkor is befejeződik, ha az eszköz nem mutat tevékenységet. A munkamenetek inaktív eszközökön való nyitva tartása veszélyeztetné a biztonságot, ezért van érvényben a jelenlegi viselkedés.
Soron belüli Apache Spark-feladatjelző
A hálójegyzetfüzetek Apache Spark-alapúak. A kódcellák távolról lesznek végrehajtva az Apache Spark-fürtön. A Spark-feladatok előrehaladási mutatója egy valós idejű folyamatjelzővel van ellátva, amely segít megérteni a feladat végrehajtási állapotát. Az egyes feladatok vagy szakaszok tevékenységeinek száma segít azonosítani a Spark-feladat párhuzamos szintjét. A feladat (vagy szakasz) nevének hivatkozásának kiválasztásával részletesebben is részletezheti egy adott feladat (vagy szakasz) Spark felhasználói felületét.
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űveletekben egyszerűen navigálhat a Spark-alkalmazás részleteit tartalmazó lapra és a Spark webes felhasználói felületére.
Titkos adatok kitakarása
Ha meg akarja akadályozni a hitelesítő adatok véletlen kiszivárogtatását a jegyzetfüzetek futtatásakor, a hálójegyzetfüzetek támogatják a titkosítási funkciót, amely lecseréli a cellák kimenetében megjelenő titkos értékeket -ra. A titkos kód újrakódosítása Pythonra, Scalára és R-re alkalmazható.
Magic parancsok egy jegyzetfüzetben
Beépített varázsparancsok
A Fabric-jegyzetfüzetekben ismerős Ipython magic parancsokat használhat. Tekintse át a jelenleg elérhető varázsparancsok alábbi listáját.
Megjegyzés
A Fabric-folyamatban csak ezek a mágikus parancsok támogatottak: %%pyspark, %%spark, %%csharp, %%sql, %%configure.
Elérhető sormágikus parancsok: %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, %whos, %xdel, %xmode.
A Fabric jegyzetfüzet támogatja a továbbfejlesztett könyvtárkezelési parancsokat is: %pip és %conda. További információ a használatról: Apache Spark-kódtárak kezelése a Microsoft Fabricben.
Elérhető cellamágiák: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%configure, %%html, %%bash, %%markdown, %%perl, %%script, %%sh.
Egyéni varázsparancsok
További egyéni varázsparancsokat is létrehozhat az igényeinek megfelelően. Íme egy példa:
Hozzon létre egy "MyLakehouseModule" nevű jegyzetfüzetet.
Egy másik jegyzetfüzetben hivatkozzon a "MyLakehouseModule" kifejezésre és annak varázsparancsára. Ez a folyamat teszi lehetővé a projekt kényelmes rendszerezését különböző nyelveket használó jegyzetfüzetekkel.
IPython widgetek
Az IPython widgetek eseménydús Python-objektumok, amelyek a böngészőben ábrázolva vannak. Az IPython Widgeteket alacsony kódú vezérlőként (például csúszka vagy szövegdoboz) használhatja a jegyzetfüzetben, ugyanúgy, mint a Jupyter-jegyzetfüzetben. Jelenleg csak Python-környezetben működik.
IPython widgetek használata
Először importálja az ipywidgets modult a Jupyter Widget keretrendszer használatához.
import ipywidgets as widgetsA felső szintű megjelenítési függvény használatával 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 cellát. A widget a kimeneti területen jelenik meg.
slider = widgets.IntSlider() display(slider)Több megjelenítési() hívással többször is megjelenítheti ugyanazt a widgetpéldányt. 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 | Widgetek |
|---|---|
| Numerikus widgetek | IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText |
| Boolean vezérlők | Kapcsológomb, Jelölőnégyzet, Érvényes |
| Kiválasztó widgetek | Legördülő lista, Választógombok, Kiválasztás, Kiválasztási csúszka, Kiválasztási tartománycsúszka, Kapcsológombok, Többszörös kiválasztás |
| Karakterlánc widgetek | Szöveg, Szövegterület, Kombinált lista, Jelszó, Címke, HTML, HTML matematika, kép, gomb |
| Lejátszási (animációs) widgetek | Dátumválasztó, Színválasztó, Vezérlő |
| Tároló- vagy elrendezés widgetek | Box, HBox, VBox, GridBox, Akkordeon, Fülek, Halmozott |
Ismert korlátozások
A következő vezérlők még nem támogatottak. A következő megoldások állnak rendelkezésre:
Funkcionalitás Megoldás Kimeneti widget 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 Fabric globális megjelenítési függvénye nem támogatja több widget megjelenítését egy hívásban (például display(a; b)). Ez a viselkedés eltér az IPython megjelenítési függvényétől.
Ha bezár egy IPython-vezérlőt tartalmazó jegyzetfüzetet, nem láthatja és nem használhatja, amíg újra nem hajtja végre a megfelelő cellát.
Az interakciós függvény (ipywidgets.interact) nem támogatott.
Integráljon egy jegyzetfüzetet
Paramétercella kijelölése
A jegyzetfüzet paraméterezéséhez jelölje ki az ellipszist (...) a További parancsok eléréséhez a cella eszköztárában. Ezután válassza a Paramétercella váltása lehetőséget a cella paramétercellaként történő kijelöléséhez.
A paramétercella hasznos lehet egy jegyzetfüzet folyamatba való integrálásához. A folyamattevékenység megkeresi a paraméterek celláját, és ezt a cellát kezeli alapértelmezettként a végrehajtási időpontban átadott paraméterekhez. 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.
Paraméterek értékeinek hozzárendelése folyamatláncból
Miután létrehozott egy paraméterekkel rendelkező jegyzetfüzetet, végrehajthatja azt egy csővezetékből a Fabric Notebook Activity segítségével. Miután hozzáadta a tevékenységet a folyamatvászonhoz, beállíthatja a paraméterek értékeit a Beállítások lap Alapparaméterek szakaszában.
Paraméterértékek hozzárendelésekor használhatja a folyamatkifejezés nyelvét vagy függvényeit és változóit.
A jegyzetfüzet paraméterei olyan egyszerű típusokat támogatnak, mint a int, float, boolés string. Olyan összetett típusok, mint például list és dict még nem támogatottak. Összetett típus átadásához érdemes lehet sztringformátumba (például JSON) szerializálni, majd deszerializálni azt a jegyzetfüzetben. Az alábbi minta bemutatja, hogyan továbbíthat egy JSON-sztringet a pipeline-ből a jegyzetfüzetbe, és hogyan deszerializálja.
Az alábbi Python-kód bemutatja, hogyan lehet deszerializálni a JSON-sztringet egy Python-szótárban:
import json
# Deserialize the JSON string into a Python dictionary
params = json.loads(json_string)
# Access the individual parameters
param1 = params.get("param1")
param2 = params.get("param2")
Győződjön meg arról, hogy a paraméterkódcellában szereplő paraméternév megegyezik a folyamat paraméternevével.
Spark-munkamenet konfigurációs varázsparancs
A Spark-munkamenetet személyre szabhatja a%%konfigurálás varázsparancsával. A Fabric jegyzetfüzet támogatja a testreszabott virtuális magokat, az illesztőprogram memória és a végrehajtó memória, az Apache Spark tulajdonságait, a csatlakoztatási pontokat, a készletet és a jegyzetfüzet-munkamenet alapértelmezett adatkezelő tározóját. Interaktív jegyzetfüzet- és folyamatjegyzetfüzet-tevékenységekben is használhatók. Javasoljuk, hogy futtassa a %%configure parancsot a jegyzetfüzet elején, vagy indítsa újra a Spark-munkamenetet a beállítások érvénybe lépéséhez.
%%configure
{
// You can get a list of valid parameters to config the session from https://github.com/cloudera/livy#request-body.
"driverMemory": "28g", // Recommended values: ["28g", "56g", "112g", "224g", "400g"]
"driverCores": 4, // Recommended values: [4, 8, 16, 32, 64]
"executorMemory": "28g",
"executorCores": 4,
"jars": ["abfs[s]: //<file_system>@<account_name>.dfs.core.windows.net/<path>/myjar.jar", "wasb[s]: //<containername>@<accountname>.blob.core.windows.net/<path>/myjar1.jar"],
"conf":
{
// Example of customized property, you can specify count of lines that Spark SQL returns by configuring "livy.rsc.sql.num-rows".
"livy.rsc.sql.num-rows": "3000",
"spark.log.level": "ALL"
},
"defaultLakehouse": { // This 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>"
},
],
"environment": {
"id": "<environment-id>",
"name": "<environment-name>"
},
"sessionTimeoutInSeconds": 1200,
"useStarterPool": false, // Set to true to force using starter pool
"useWorkspacePool": "<workspace-pool-name>"
}
Megjegyzés
- Javasoljuk, hogy állítsa be ugyanazt az értéket a %%configure "DriverMemory" és "ExecutorMemory" értékéhez. A "driverCores" és a "executorCores" értéknek is meg kell egyeznie.
- A "defaultLakehouse" felülírja a rögzített lakehouse-t a Lakehouse Explorerben, de ez csak az aktuális jegyzetfüzet-munkamenetben működik.
- Használhat %%configure a Fabric-folyamatokban, de ha nincs beállítva az első kódcellában, a folyamat futtatása meghiúsul, mert nem lehet újraindítani a munkamenetet.
- A %%configure, amelyet a notebookutils.notebook.run fájlban használunk, figyelmen kívül van hagyva, azonban a %run jegyzetfüzet továbbra is végrehajtásra kerül.
- A standard Spark-konfigurációs tulajdonságokat a "conf" törzsben kell használni. Fabric nem teszi lehetővé a Spark konfigurációs beállítások első szintű hivatkozását.
- Néhány speciális Spark tulajdonság, beleértve a "spark.driver.cores", "spark.executor.cores", "spark.driver.memory", "spark.executor.memory" és "spark.executor.instances" nem érvényesül a "conf" szövegrészben.
A magic paranccsal dinamikusan injektálhat %%configure konfigurációs értékeket a változótárból a jegyzetfüzetbe.
%%configure
{
"defaultLakehouse": {
"name": {
"variableName": "$(/**/myVL/LHname)"
},
"id": {
"variableName": "$(/**/myVL/LHid)"
},
"workspaceId": {
"variableName": "$(/**/myVL/WorkspaceId)"
}
}
}
Ebben a példában:
- A(z)
myVLa változótárad neve. -
LHname,LHidésWorkspaceIda kódtárban definiált változókulcsok. - Minden változót sztringtípusként kell definiálni a változótárban, még a GUID értékek esetében is.
- A
workspaceIdakkor szükséges, ha a lakehouse egy másik munkaterületen található, mint az aktuális jegyzetfüzet. - Ezek az értékek futásidőben lesznek feloldva az aktív környezettől függően (például Dev, Test, Prod).
Ez lehetővé teszi az alapértelmezett lakehouse-hoz hasonló konfigurációk közötti váltást a jegyzetfüzet kódjának módosítása nélkül.
Paraméterezett munkamenet-konfiguráció egy folyamatból
A paraméterezett munkamenet-konfiguráció lehetővé teszi, hogy a %%configure magic értékét lecserélje a folyamatfuttatási jegyzetfüzet tevékenységeinek paramétereire. %%konfigurációs kódcella előkészítésekor felülbírálhatja az alapértelmezett értékeket (ahogyan az alábbi példában is látható, 4 és "2000") egy ilyen objektummal:
{
"parameterName": "paramterNameInPipelineNotebookActivity",
"defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
}
%%configure
{
"driverCores":
{
"parameterName": "driverCoresFromNotebookActivity",
"defaultValue": 4
},
"conf":
{
"livy.rsc.sql.num-rows":
{
"parameterName": "rows",
"defaultValue": "2000"
}
}
}
A jegyzetfüzetek akkor használják az alapértelmezett értéket, ha közvetlenül interaktív módban futtat egy jegyzetfüzetet, vagy ha a folyamatjegyzetfüzet-tevékenység nem ad meg olyan paramétert, amely megfelel az "activityParameterName" értéknek.
Folyamatfuttatás során a folyamatjegyzetfüzet tevékenységbeállításait az alábbiak szerint konfigurálhatja:
Ha módosítani szeretné a munkamenet-konfigurációt, a folyamatjegyzetfüzet tevékenységparamétereinek nevének meg kell egyeznie parameterName a jegyzetfüzet nevével. Ebben a pipeline futtatásának példájában a driverCores értékét a %%configure-ban 8-ra, míg a livy.rsc.sql.num-rows értékét 4000-re cseréljük.
Megjegyzés
- Ha egy folyamat futtatása meghiúsul, mert a %%configure magic parancsot használta, további hibainformációkat talál a %%configure magic cellának a jegyzetfüzet interaktív módban való futtatásával.
- A jegyzetfüzet ütemezett futtatásai nem támogatják a paraméteres munkamenet-konfigurációt.
Python-naplózás jegyzetfüzetben
Python-naplókat találhat, és különböző naplószinteket és formátumokat állíthat be, például az itt látható mintakódot:
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")
Bemeneti parancsok előzményeinek megtekintése
A Fabric notebookban a %history magic parancs használható, hogy kinyomtassa az aktuális munkamenet során végrehajtott parancselőzményeket. A standard Jupyter Ipython parancshoz képest a %history több nyelvi környezetben is működik a jegyzetfüzetben.
%history [-n] [range [range ...]]
Lehetőségek:
- -n: Végrehajtási szám megjelenítése.
A tartomány lehet:
- N: Az N-edik végrehajtott cella kódjának nyomtatása.
- M-N: Kód nyomtatása a Mth cellától a Nth celláig végrehajtott cellákból.
Példa:
- Bemeneti előzmények nyomtatása az 1. végrehajtott cellától a 2. végrehajtott celláig:
%history -n 1-2
Gyorsbillentyűk
A Jupyter notebookokhoz hasonlóan a Fabric notebookok is rendelkeznek modális felhasználói felülettel. A billentyűzet különböző műveleteket végez attól függően, hogy a jegyzetfüzetcella milyen módban van. A szövet jegyzetfüzetek a következő két módot támogatják egy adott kódcellához: Parancsmód és Szerkesztésmód.
A cella Parancs módban van, 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. Lépjen be a Parancs módba az ESC billentyű lenyomásával, vagy az egérrel jelöljön ki a cella szerkesztőterületén kívül.
A szerkesztési mód egy szövegkurzorból jelezhető, amely a szerkesztőterület beírását kéri. Ha egy cella Szerkesztés módban van, beírhatja a cellába. Írja be a Szerkesztés módot az Enter billentyű lenyomásával vagy az egérrel a cella szerkesztőterületének kijelöléséhez.
Gyorsbillentyűk parancs módban
| Akció | Jegyzetfüzet-billentyűparancsok |
|---|---|
| Futtassa az aktuális cellát, majd válasszon az alábbiak közül | Shift+Enter |
| Futtassa az aktuális cellát, és szúrja be az alábbiakat | Alt+Enter |
| Futtassa a jelenlegi cellát | Ctrl+Enter |
| A fenti cella kijelölése | Fel |
| Válaszd ki az alábbi cellát | Lefelé |
| Válaszd ki az előző cellát | K |
| Következő cella kijelölése | J |
| Cella beszúrása felülre | Egy |
| Cella beszúrása lent | B |
| Kijelölt cellák törlése | D,D |
| Váltás szerkesztési módra | Belépés |
Billentyűparancsok szerkesztési módban
Az alábbi billentyűparancsokkal egyszerűen navigálhat és futtathat kódot Fabric-jegyzetfüzetekben szerkesztési módban.
| Akció | Jegyzetfüzet-billentyűparancsok |
|---|---|
| Felfelé mutató kurzor | Fel |
| Mozgasd a kurzort lefelé | Lefelé |
| Visszavonás | Ctrl + Z |
| Újra | Ctrl + Y |
| Kommentálás vagy kikommentelés | Ctrl + / Megjegyzés: Ctrl + K + C Megjegyzés eltávolítása: Ctrl + K + U |
| Távolítsd el az előző szót | Ctrl + Backspace |
| Után szó törlése | Ctrl + Delete |
| Ugrás a cella elejére | Ctrl + Kezdőlap |
| Lépjen a cella végére | Ctrl + End |
| Menj egy szót balra | Ctrl + Bal nyíl |
| Lépj egy szót jobbra | Ctrl + Jobbra |
| Összes kijelölése | Ctrl +A |
| Behúzás | Ctrl + ] |
| Dedent | Ctrl + [ |
| Váltás parancs módra | Esc |
Az összes billentyűparancs megkereséséhez válassza a Nézet lehetőséget a jegyzetfüzet menüszalagján, majd válassza a Kulcskötések lehetőséget.