Megosztás a következőn keresztül:


Microsoft Fabric-jegyzetfüzetek fejlesztése, végrehajtása és kezelése

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.

Jegyzetfüzetek fejlesztése

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 biztosítunk a jegyzetfüzetek fejlesztéséhez:

Cella hozzáadása

Többféleképpen is felvehet új cellát a jegyzetfüzetbe.

  1. Mutasson a két cella közötti térközre, és válassza a Kód vagy a Markdown lehetőséget.

  2. Parancs módban használjon 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 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.

Képernyőkép a cella elején megadott nyelvvarázsló parancsról.

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 HTML-lekérdezés végrehajtása az Apache Spark-környezettel.
%%sparkr R R-lekérdezés végrehajtása az Apache Spark-környezettel.

IDE-stílusú IntelliSense

A hálójegyzetfüzetek integrálva vannak a Monaco-szerkesztővel, hogy IDE-stílusú IntelliSense 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ód összecsukása
PySpark (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

Feljegyzés

Az IntelliSense-kódkiegészítés használatához aktív Apache Spark-munkamenetre van szükség.

Kódminták

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 kódrészletek az IDE-stílus IntelliSense billentyűparancsaiban jelennek meg, más javaslatokkal vegyesen. 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.

Kódrészletek animált GIF-jét.

Kódrészletek beszúrása húzással

Az 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. Egy meglévő cellába vagy egy új cellába is ugrahat. A jegyzetfüzet ennek megfelelően létrehozza a kódrészletet az adatok előnézetének megtekintéséhez.

Animált GIF húzással és húzással kódrészletek beszúrásához.

Képek beszúrása húzással

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.

Animált GIF húzással képek beszúrásához.

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.

Képernyőkép a szövegformázási eszköztárról.

Cellaműveletek visszavonása vagy ismételt 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 előzménycella-műveletek közül legfeljebb 10 visszavonható vagy megismételhető.

Képernyőkép a visszavonás és a menü újrabeállításainak megjelenítéséről.

Támogatott visszavonási 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és.
  • Kapcsolóparaméter.
  • Konvertálás a kódcella és a Markdown-cella között.

Feljegyzés

A cellában lévő szövegműveleteket és a kódcellák megjegyzési műveleteit nem lehet visszavonni. A legutóbbi előzménycella-műveletek közül legfeljebb 10 visszavonható vagy megismételhető.

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.

Képernyőkép a cella áthelyezési lehetőségeiről.

Cella törlése

Cella törléséhez kattintson a cella jobb oldalán található Törlés gombra.

Parancs mó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. Ha ismét ki szeretné bontani, válassza a Bemenet megjelenítése a cella összecsukásakor 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. Ha ismét ki szeretné bontani, válassza a Kimenet megjelenítése a cellakimenet összecsukásakor lehetőséget.

Cellakimenet biztonsága

A OneLake-adathozzáférési szerepkörök (előzetes verzió) használatával a felhasználók a jegyzetfüzet-lekérdezések során konfigurálhatják a hozzáférést csak a lakehouse adott mappáihoz. 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, és a lekérdezési eredményeket tartalmazó jegyzetfüzetcellákat azok a felhasználók tekinthetik meg, amelyek nem jogosultak közvetlenül lekérdezéseket futtatni az adatokon.

Cella zárolása vagy rögzítése

A zárolási és zárolási cellaműveletek lehetővé teszik, hogy a cellák írásvédettek legyenek, vagy hogy a kódcellák önállóan fussanak.

Animált GIF zárolásról vagy cella rögzítéséről.

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.

Képernyőkép az egyesítés felosztott celláinak bejegyzéséről.

Jegyzetfüzet tartalma

Ha kijelöli a Vázlatok vagy a Tartalomjegyzék lehetőséget, a gyors navigáláshoz megjeleníti az oldalsáv ablakában lévő markdown-cellák első Markdown-fejlécét. 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.

Képernyőkép arról, hogy hol válassza a Tartalom lehetőséget.

Markdown összecsukható

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 lesznek kezelve, mint a cellaműveletek végrehajtásakor egy összefüggő, több kijelölt cellakészlettel.

Animált GIF markdown folding.

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.

A keresés és csere panel képernyőképe.

Jegyzetfüzetek futtatása

A jegyzetfüzet kódcellái egyenként vagy egyszerre is futtathatók. Az egyes cellák állapota és állapota megjelenik a jegyzetfüzetben.

Cella futtatása

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.

  • Parancs módban használjon 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. Az Alt+Enter billentyűkombinációval futtassa az aktuális cellát, és szúrjon be egy új cellát.

Az összes cella futtatása

Az Összes futtatása gombra kattintva az aktuális jegyzetfüzet összes celláját egymás után futtathatja.

Az összes cella futtatása a fenti vagy az alatti cellákban

Bontsa ki a legördülő listát az Összes futtatása lehetőségből, majd válassza a Fenti Cellák futtatása lehetőséget az aktuális fölötti cellák sorozatban való 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.

Képernyőkép az Összes menü futtatásáról.

Az összes futó cella megszakítása

Válassza az Összes megszakítása lehetőséget az üzenetsorban várakozó futó cellák vagy 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.

Képernyőkép arról, hogy hol válassza az Összes futtatás megszakítása és a munkamenet leállítása lehetőséget.

Referenciafuttatás

Jegyzetfüzet futtatása hivatkozással

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 folyamatként is működik.

Feljegyzés

  • A %run parancs jelenleg csak a munkaterületen lévő referenciajegyzetfüzeteket támogatja az aktuális jegyzetfüzettel.
  • A %run parancs jelenleg legfeljebb négy paraméterértéktípust támogat: int, float, boolés string. A változó csereművelete nem támogatott.
  • A %run parancs nem támogatja az ötnél nagyobb mélységű beágyazott hivatkozásokat.

Hivatkozás 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.py

  • Script_file.sql futtatása a beépített erőforrásokból:%run -b script_file.sql

  • Script_file.py futtatása a beépített erőforrásokból adott változókkal:%run -b script_file.py { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }

Feljegyzés

Ha a parancs nem tartalmazza a -b/--builtin parancsot, a beépített erőforrások helyett megkísérli megkeresni és végrehajtani a jegyzetfüzet elemet ugyanazon a munkaterületen belül.

Példa a beágyazott futtatási esetre:

  • Tegyük fel, hogy két jegyzetfüzetünk van.
    • Jegyzetfüzet1: Script_file1.py tartalmaz a beépített erőforrásokban
    • Notebook2: Script_file2.py tartalmaz a beépített erőforrásokban
  • 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

Változókezelő

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.

A változók megnyitásának helyét bemutató képernyőkép.

Feljegyzés

A változókezelő csak a Pythont támogatja.

Cellaállapot-jelző

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.

Képernyőkép a cellafuttatás állapotának részleteiről.

Beágyazott Apache Spark-feladatjelző

A Fabric-jegyzetfüzet Apache Spark-alapú. 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.

Képernyőkép a Spark-feladatok előrehaladásáról.

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.

További műveletek részleteinek képernyőképe.

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üzetek támogatják a titkos kód újrakódosítását a cellakimenetben [REDACTED]megjelenő titkos értékek lecseréléséhez. A titkos kód újrakódosítása Pythonra, Scalára és R-re alkalmazható.

Képernyőkép a titkos kód újrakódosításáról.

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.

Feljegyzés

A Fabric-folyamatban csak ezek a mágikus parancsok támogatottak: %%pyspark, %%spark, %%csharp, %%sql, %%configure.

Elérhető sorvarázsolási 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, %who's, %xdel, %xmode.

A hálójegyzetfüzet a továbbfejlesztett könyvtárkezelési parancsokat is támogatja: %pip és %conda. További információ a használatról: Apache Spark-kódtárak kezelése a Microsoft Fabricben.

Elérhető cellavarázsló parancsok: %%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. Példa:

  1. Hozzon létre egy "MyLakehouseModule" nevű jegyzetfüzetet.

    Képernyőkép egy egyéni varázslat definiálásáról.

  2. 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.

    Képernyőkép az egyéni varázslat használatáról.

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

  1. Először importálja az ipywidgets modult a Jupyter Widget keretrendszer használatához.

    import ipywidgets as widgets
    
  2. A 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)
    
  3. Futtassa a cellát. A widget a kimeneti területen jelenik meg.

    slider = widgets.IntSlider()
    display(slider)
    

    Képernyőkép a kimeneti területen megjelenő widgetről.

  4. 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épernyőkép egy widget többszöri megjelenítéséről.

  5. 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)
    

    Képernyőkép a widgetek több példányáról.

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
Kijelölési widgetek Legördülő lista, RadioButtons, Select, SelectionSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple
Sztring 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, Harmonika, Lapok, Halmozott

Ismert korlátozások

  • A következő vezérlők még nem támogatottak. A következő kerülő megoldások érhetők el:

    Funkcionalitás Áthidaló 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.

Jegyzetfüzet integrálása

Paramétercella kijelölése

A jegyzetfüzet paraméterezéséhez jelölje ki 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.

Képernyőkép arról, hogy hol válassza ki a Kapcsoló paramétercella lehetőséget.

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 folyamatból

Miután létrehozott egy paraméterekkel rendelkező jegyzetfüzetet, végrehajthatja azt egy folyamatból a Fabric-jegyzetfüzet tevékenysé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.

Képernyőkép arról, hogy hol rendelhet paraméterértékeket egy folyamathoz.

Paraméterértékek hozzárendelésekor használhatja a folyamatkifejezés nyelvét vagy függvényeit és változóit.

Spark-munkamenet konfigurációs varázsló parancsa

A Spark-munkamenetet személyre szabhatja a%%konfigurálás varázsparancsával. A hálójegyzetfüzet támogatja a testreszabott virtuális magokat, az illesztőprogram és a végrehajtó memóriáját, az Apache Spark tulajdonságait, a csatlakoztatási pontokat, a készletet és a jegyzetfüzet-munkamenet alapértelmezett lakehouse-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>"
}

Feljegyzé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álhatja a %%-konfigurálást 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 notebookutils.notebook.run fájlban használt %%-konfigurálás figyelmen kívül lesz hagyva, de a(z) %run notebookban való használat folytatódik.
  • A standard Spark-konfigurációs tulajdonságokat a "conf" törzsben kell használni. A Háló nem támogatja a Spark-konfigurációs tulajdonságok első szintű referenciáját.
  • Néhány speciális Spark-tulajdonság, például a "spark.driver.cores", a "spark.executor.cores", a "spark.driver.memory", a "spark.executor.memory" és a "spark.executor.instances" nem lép érvénybe a "conf" törzsben.

Folyamat paraméteres munkamenet-konfigurációja

A paraméteres munkamenet-konfigurációval lecserélheti a %%configure magic értékét a folyamatfuttatási jegyzetfüzet-tevékenység paramétereire. %%konfigurálási cella előkészítésekor felülbírálhatja az alapértelmezett értékeket (az alábbi példában is konfigurálható, 4 és "2000" érték) 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:

Képernyőkép a paraméteres munkamenet konfigurálásához.

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 példában egy folyamat futtatására a driverCores %%-konfigurálásban a 8- ra cseréljük, és livy.rsc.sql.num-rows 4000-rel cseréljük le.

Feljegyzé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 notebook támogatja a magic parancsot %history az aktuális munkamenetben végrehajtott bemeneti parancselőzmények nyomtatásához, összehasonlítva a standard Jupyter Ipython paranccsal, amely a %history jegyzetfüzet több nyelvi környezetében működik.

%history [-n] [range [range ...]]

Lehetőségek:

  • -n: Végrehajtási szám nyomtatása.

Ahol a tartomány lehet:

  • N: Az Nth által végrehajtott cella kódjának nyomtatása.
  • M-N: Kód nyomtatása az Mth-ből az Nth-be végrehajtott cellába.

Példa:

  • Bemeneti előzmények nyomtatása az 1. és a 2. végrehajtott cella között: %history -n 1-2

Billentyűparancsok

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 hálójegyzetfüzetek az alábbi két módot támogatják egy adott kódcellához: Parancs mód és Szerkesztés mó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. Adja meg a Parancs módot az ESC billentyű lenyomásával, vagy az egérrel a cella szerkesztőterületén kívülre történő kijelöléshez.

    Képernyőkép a parancs módban lévő celláró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.

    Képernyőkép szerkesztési módban lévő celláról.

Billentyűparancsok parancs mó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
Az alábbi cella kijelölése Le
Előző cella kijelölése K
Következő cella kijelölése J
Cella beszúrása fent A
Cella beszúrása lent h
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 egyszerűen navigálhat és futtathat kódot Fabric-jegyzetfüzetekben szerkesztési módban.

Művelet Jegyzetfüzet-billentyűparancsok
Felfelé mutató kurzor Fel
Mozgasd a kurzort lefelé Le
Visszavonás Ctrl + Z
Ismétlés Ctrl + Y
Megjegyzés vagy megjegyzés feloldása Ctrl + /
Megjegyzés: Ctrl + K + C
Kibontás: Ctrl + K + U
Szó törlése előtt Ctrl + Backspace
Szó törlése utána Ctrl +Delete
Ugrás a cella elejére Ctrl + Home
Ugrás a cella végére Ctrl +End
Egy szó balra Ctrl + Balra
Egy szó 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 Billentyűkötések lehetőséget.