Synapse-jegyzetfüzetek létrehozása, fejlesztése és karbantartása
Az Azure Synapse Analytics-jegyzetfüzetek (Synapse-jegyzetfüzetek) egy webes felület, amellyel élő kódot, vizualizációkat és elbeszélő szöveget tartalmazó fájlokat hozhat létre. A notebookok kitűnően alkalmasak az ötletek kipróbálására és gyors kísérletek elvégzésére, amelyekkel megállapításokat tehet az adatokról. A jegyzetfüzeteket széles körben használják az adatok előkészítésében, az adatvizualizációban, a gépi tanulásban és más big data-forgatókönyvekben is.
Synapse-jegyzetfüzetekkel a következőt teheti:
- Első lépések a nulla beállítási munkával.
- Az adatok biztonságossá tételének elősegítése a beépített vállalati biztonsági funkciókkal.
- Adatok elemzése nyers formátumok (például CSV, TXT és JSON), feldolgozott fájlformátumok (például Parquet, Delta Lake és ORC) és SQL-táblázatos adatfájlok között a Spark és az SQL használatával.
- Legyen hatékony a bővített szerzői képességekkel és a beépített adatvizualizációval.
Ez a cikk bemutatja, hogyan használhat jegyzetfüzeteket a Synapse Studióban.
Jegyzetfüzet létrehozása
Létrehozhat egy új jegyzetfüzetet, vagy importálhat egy meglévő jegyzetfüzetet egy Synapse-munkaterületre az Object Explorerből. Válassza a Fejlesztés menüt. Jelölje ki a gombot, és válassza a + Jegyzetfüzet lehetőséget, vagy kattintson a jobb gombbal a Jegyzetfüzetek elemre, majd válassza az Új jegyzetfüzet vagy Importálás lehetőséget. A Synapse-jegyzetfüzetek felismerik a standard Jupyter Notebook IPYNB-fájlokat.
Jegyzetfüzetek fejlesztése
A jegyzetfüzetek cellákból állnak, amelyek önállóan vagy csoportként futtatható kód- vagy szövegblokkok.
A következő szakaszok a jegyzetfüzetek fejlesztésének műveleteit ismertetik:
- Cella hozzáadása
- Elsődleges nyelv beállítása
- Több nyelv használata
- Ideiglenes táblák használata nyelvek közötti adatokra való hivatkozáshoz
- IDE-stílusú IntelliSense használata
- Kódrészletek használata
- Szövegcellák formázása eszköztárgombokkal
- Cellaművelet visszavonása vagy ismételt végrehajtása
- Megjegyzés kódcellához
- Cella áthelyezése
- Cella másolása
- Cella törlése
- Cellabemenet összecsukása
- Cellakimenet összecsukása
- Jegyzetfüzet körvonalának használata
Feljegyzés
A jegyzetfüzetekben a rendszer automatikusan létrehoz egy példányt SparkSession
, és egy úgynevezett spark
változóban tárolja. Van egy változó is a híváshoz SparkContext
sc
. A felhasználók közvetlenül hozzáférhetnek ezekhez a változókhoz, de nem módosíthatják ezeknek a változóknak az értékeit.
Cella hozzáadása
Többféleképpen is felvehet új cellát a jegyzetfüzetbe:
Mutasson a két cella közötti térközre, és válassza a Kód vagy a Markdown lehetőséget.
Parancs módban használjon billentyűparancsokat. Az A billentyűvel beszúrhat egy cellát az aktuális cella fölé. A B billentyűvel beszúrhat egy cellát az aktuális cella alá.
Elsődleges nyelv beállítása
A Synapse-jegyzetfüzetek négy Apache Spark-nyelvet támogatnak:
- PySpark (Python)
- Spark (Scala)
- Spark SQL
- .NET Spark (C#)
- SparkR (R)
Az újonnan hozzáadott cellák elsődleges nyelvét a felső parancssáv Nyelv legördülő listájából állíthatja be.
Több nyelv használata
Egy jegyzetfüzetben több nyelvet is használhat, ha megadja a megfelelő nyelvvarázsló parancsot a cella elején. Az alábbi táblázat a cellanyelvek közötti váltáshoz használható varázsparancsokat sorolja fel.
Magic parancs | Nyelv | Leírás |
---|---|---|
%%pyspark |
Python | Python-lekérdezés futtatása a következőn: SparkContext . |
%%spark |
Scala | Scala-lekérdezés futtatása a következőn:SparkContext |
%%sql |
Spark SQL | Spark SQL-lekérdezés futtatása a következőn:SparkContext |
%%csharp |
.NET a Spark C-hez# | Futtasson egy .NET-et Spark C#-lekérdezéshez SparkContext . |
%%sparkr |
R | R-lekérdezés futtatása a következőn: SparkContext . |
Az alábbi képen egy példa látható arra, hogyan írhat PySpark-lekérdezést a %%pyspark
magic paranccsal vagy egy Spark SQL-lekérdezéssel a %%sql
Spark (Scala) jegyzetfüzetben található magic paranccsal. A jegyzetfüzet elsődleges nyelve PySparkra van állítva.
Ideiglenes táblák használata nyelvek közötti adatokra való hivatkozáshoz
A Synapse-jegyzetfüzetekben nem hivatkozhat közvetlenül az adatokra vagy változókra a különböző nyelvek között. A Sparkban különböző nyelveken hivatkozhat egy ideiglenes táblára. Íme egy példa arra, hogyan olvashatja be a Scala DataFrame-et a PySparkban és a Spark SQL-ben egy Spark ideiglenes tábla használatával kerülő megoldásként:
Az 1. cellában olvasson be egy DataFrame-et egy SQL-készlet-összekötőből a Scala használatával, és hozzon létre egy ideiglenes táblát:
%%spark val scalaDataFrame = spark.read.sqlanalytics("mySQLPoolDatabase.dbo.mySQLPoolTable") scalaDataFrame.createOrReplaceTempView( "mydataframetable" )
A 2. cellában a Spark SQL használatával kérdezheti le az adatokat:
%%sql SELECT * FROM mydataframetable
A 3. cellában használja az adatokat a PySparkban:
%%pyspark myNewPythonDataFrame = spark.sql("SELECT * FROM mydataframetable")
IDE-stílusú IntelliSense használata
A Synapse-jegyzetfüzetek integrálva vannak a Monaco-szerkesztővel, hogy IDE-stílusú IntelliSense-t hozzanak a cellaszerkesztőbe. A szintaxiskiemelés, a hibajelölő és az automatikus kódkiegészítés funkciói segítenek a kódírásban é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ő nyelvek esetében. Az alábbi táblázatból megtudhatja, hogy mi támogatott.
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 | Nem | Igen |
Spark SQL | Igen | Igen | Igen | Igen | Igen | Nem | Nem | Nem |
.NET sparkhoz (C#) | Igen | Igen | Igen | Igen | Igen | Igen | Igen | Igen |
Aktív Spark-munkamenetre van szükség a változókódok befejezésének, a rendszerfüggvény-kódkiegészítésnek és a .NET for Spark (C#) felhasználói függvénykód-kiegészítésének előnyeinek kihasználásához.
Kódrészletek használata
A Synapse-jegyzetfüzetek olyan kódrészleteket biztosítanak, amelyek megkönnyítik a gyakran használt kódminták megadását. Ezek a minták magukban foglalják a Spark-munkamenet konfigurálását, az adatok Spark DataFrame-ként való olvasását, valamint diagramok rajzolását a Matplotlib használatával.
A kódrészletek az IDE-stílusú IntelliSense billentyűparancsaiban jelennek meg, más javaslatokkal vegyesen. A kódrészletek tartalma igazodik a kódcella nyelvéhez. Az elérhető kódtöredékeket a kódrészlet vagy a kódrészlet címében megjelenő kulcsszavak megadásával tekintheti meg 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.
Szövegcellák formázása eszköztárgombokkal
A szövegcella eszköztárának formázási gombjaival elvégezheti a gyakori Markdown-műveleteket. Ezek a műveletek közé tartozik a szöveg félkövérsé tétele, a szöveg dőlt betűssé tétele, a bekezdések és címsorok létrehozása egy legördülő menüben, kód beszúrása, rendezetlen lista beszúrása, rendezett lista beszúrása, hivatkozás beszúrása és kép beszúrása URL-címből.
Cellaművelet visszavonása vagy ismételt végrehajtása
A legutóbbi cellaműveletek visszavonásához válassza a Visszavonás vagy az Újra gombot , vagy válassza a Z billentyűt vagy a Shift+Z billentyűkombinációt. Most már legfeljebb 10 korábbi cellaműveletet vonhat vissza vagy hajthat végre újra.
A támogatott cellaműveletek a következők:
- Cella beszúrása vagy törlése. A törlési műveleteket a Visszavonás gombra kattintva vonhatja vissza. Ez a művelet a cella mellett a szöveges tartalmat is megőrzi.
- Cellák átrendezésében.
- Paramétercella be- vagy kikapcsolása.
- Konvertálás kódcella és Markdown-cella között.
Feljegyzés
Nem vonhatja vissza a szövegműveleteket és a megjegyzési műveleteket egy cellában.
Megjegyzés kódcellához
A Jegyzetfüzet eszköztár Megjegyzések gombjára kattintva nyissa meg a Megjegyzések panelt.
Jelöljön ki kódot a kódcellában, válassza az Új lehetőséget a Megjegyzések panelen, adjon hozzá megjegyzéseket, majd válassza a Megjegyzés közzététele gombot.
Szükség esetén a Megjegyzés szerkesztése, a Szál feloldása és a Szál törlése művelet végrehajtásához válassza a Megjegyzés melletti További három pont (...) lehetőséget.
Cella áthelyezése
Egy cella áthelyezéséhez jelölje ki a cella bal oldalát, és húzza a cellát a kívánt helyre.
Cella másolása
Cella másolásához először hozzon létre egy új cellát, majd jelölje ki az összes szöveget az eredeti cellában, másolja a szöveget, és illessze be a szöveget az új cellába. Ha a cella szerkesztési módban van, a hagyományos billentyűparancsok az összes szöveg kijelöléséhez csak a cellára korlátozódnak.
Tipp.
A Synapse-jegyzetfüzetek a gyakran használt kódminták részleteit is biztosítják.
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 válassza a Shift+D billentyűkombinációt.
Cellabemenet összecsukása
Az aktuális cella bemenetének összecsukásához válassza a További parancsok három pontot (...) a cella eszköztárán, majd válassza a Bemenet elrejtése lehetőséget. A bemenet kibontásához válassza a Bemenet megjelenítése a cella összecsukása közben lehetőséget.
Cellakimenet összecsukása
Az aktuális cella kimenetének összecsukásához válassza a További parancsok három pontot (...) a cella eszköztárán, majd válassza a Kimenet elrejtése lehetőséget. A kimenet kibontásához válassza a Kimenet megjelenítése, amíg a cella kimenete rejtett.
Jegyzetfüzet körvonalának használata
A vázlat (tartalomjegyzék) egy oldalsávablakban lévő Markdown-cella első Markdown-fejlécét mutatja be a gyors navigációhoz. A körvonal oldalsávja méretezhető és összecsukható, hogy a lehető legjobban illeszkedjen a képernyőhöz. Az oldalsáv megnyitásához vagy elrejtéséhez kattintson a Jegyzetfüzet parancssávJának Vázlat gombjára.
Jegyzetfüzet 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.
Feljegyzés
A jegyzetfüzetek törlése nem törli automatikusan az éppen futó feladatokat. Ha le kell mondania egy feladatot, lépjen a Monitorközpontba , és mondja le manuálisan.
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, majd válassza a Cella futtatása gombot, vagy válassza a Ctrl+Enter billentyűkombinációt.
Parancs módban használjon billentyűparancsokat. A Shift+Enter billentyűkombinációval futtassa az aktuális cellát, és jelölje ki az alatta lévő cellát. Az Alt+Enter billentyűkombinációt választva futtassa az aktuális cellát, és szúrjon be egy új cellát alá.
Az összes cella futtatása
Az aktuális jegyzetfüzet összes cellájának egymás utáni futtatásához válassza az Összes futtatása gombot.
Az összes cella futtatása a fenti vagy az alatti cellákban
Ha az aktuális cella fölötti összes cellát egymás után szeretné futtatni, bontsa ki az Összes futtatása gomb legördülő listáját, majd válassza a Fenti Cellák futtatása lehetőséget. Az alábbi Cellák futtatása gombra kattintva az aktuális cella alatti összes cellát egymás után futtathatja.
Az összes futó cella megszakítása
A futó cellák vagy az üzenetsorban várakozó cellák megszakításához válassza az Összes megszakítása gombot.
Jegyzetfüzet hivatkozása
Ha egy másik jegyzetfüzetre szeretne hivatkozni az aktuális jegyzetfüzet környezetében, használja a %run <notebook path>
magic parancsot. A referenciajegyzetfüzetben definiált összes változó elérhető az aktuális jegyzetfüzetben.
Példa:
%run /<path>/Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
A jegyzetfüzet referenciája interaktív módban és folyamatokban is működik.
A %run
magic parancs a következő korlátozásokkal rendelkezik:
- A parancs támogatja a beágyazott hívásokat, de a rekurzív hívásokat nem.
- A parancs csak paraméterként támogatja az abszolút elérési út vagy jegyzetfüzetnév átadását. Nem támogatja a relatív elérési utakat.
- A parancs jelenleg csak négy paraméterértéktípust támogat:
int
,float
,bool
ésstring
. Nem támogatja a változók cseréjét. - A hivatkozott jegyzetfüzeteket közzé kell tenni. A jegyzetfüzetekre való hivatkozáshoz közzé kell tennie a jegyzetfüzeteket, kivéve, ha bejelöli a nem közzétett jegyzetfüzet-referenciák engedélyezésének lehetőségét. A Synapse Studio nem ismeri fel a Git-adattár nem közzétett jegyzetfüzeteit.
- A hivatkozott jegyzetfüzetek nem támogatják az ötnél nagyobb utasításmélységeket.
A változókezelő használata
A Synapse-jegyzetfüzetek beépített változókezelőt biztosítanak táblázat formájában, amely a PySpark -cellák aktuális Spark-munkamenetében lévő változókat sorolja fel. A táblázat oszlopokat tartalmaz a változó nevéhez, típusához, hosszához és értékéhez. További változók automatikusan megjelennek a kódcellákban definiált módon. Az egyes oszlopfejlécek kijelölése rendezi a változókat a táblában.
A változókezelő megnyitásához vagy elrejtéséhez válassza a Változók gombot a jegyzetfüzet parancssávján.
Feljegyzés
A változókezelő csak a Pythont támogatja.
A cella állapotjelzőjének használata
Egy cellafuttatás lépésenkénti állapota jelenik meg a cella alatt, hogy látható legyen az aktuális állapota. A cellafuttatás befejeződése után megjelenik egy összegzés, amely a teljes időtartamot és a befejezési időt jeleníti meg, és a jövőben is ott marad.
A Spark állapotjelzőjének használata
A Synapse-jegyzetfüzetek tisztán Spark-alapúak. A kódcellák távolról futnak a kiszolgáló nélküli Apache Spark-készleten. A Spark-feladatok állapotjelzője valós idejű folyamatjelzővel segíti a feladatfuttatás állapotának megértését.
Az egyes feladatokhoz vagy fázisokhoz tartozó tevékenységek száma segít azonosítani a Spark-feladat párhuzamos szintjét. Egy adott feladat (vagy szakasz) Spark felhasználói felületét is részletesebben is részletezheti a feladat (vagy szakasz) nevére mutató hivatkozás kiválasztásával.
Spark-munkamenet konfigurálása
A Munkamenet konfigurálása panelen, amelyet a jegyzetfüzet tetején található fogaskerék ikonra kattintva talál, megadhatja az időtúllépés időtartamát, a végrehajtók számát és a végrehajtók méretét az aktuális Spark-munkamenethez. Indítsa újra a Spark-munkamenetet a konfigurációs módosítások érvénybe lépéséhez. Az összes gyorsítótárazott jegyzetfüzetváltozó törlődik.
Létrehozhat egy konfigurációt is az Apache Spark-konfigurációból, vagy kiválaszthat egy meglévő konfigurációt. További részletekért tekintse meg az Apache Spark konfigurációjának kezelését.
Magic parancs Spark-munkamenet konfigurálásához
A Spark-munkamenet beállításait a magic paranccsal %%configure
is megadhatja. A beállítások érvénybe lépéséhez indítsa újra a Spark-munkamenetet.
Javasoljuk, hogy a jegyzetfüzet elején fusson %%configure
. Íme egy minta. Az érvényes paraméterek teljes listájáért tekintse meg a GitHub Livy-információit.
%%configure
{
//You can get a list of valid parameters to configure the session from https://github.com/cloudera/livy#request-body.
"driverMemory":"28g", // Recommended values: ["28g", "56g", "112g", "224g", "400g", "472g"]
"driverCores":4, // Recommended values: [4, 8, 16, 32, 64, 80]
"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 a standard Spark property. To find more available properties, go to https://spark.apache.org/docs/latest/configuration.html#application-properties.
"spark.driver.maxResultSize":"10g",
//Example of a customized property. You can specify the count of lines that Spark SQL returns by configuring "livy.rsc.sql.num-rows".
"livy.rsc.sql.num-rows":"3000"
}
}
Íme néhány szempont a %%configure
magic parancshoz:
- Azt javasoljuk, hogy ugyanazt az értéket használja a következőhöz:
executorMemory
%%configure
.a0> Ezt is javasoljuk,driverCores
ésexecutorCores
ugyanazzal az értékkel rendelkezik. - Használhatja
%%configure
a Synapse-folyamatokban, de ha nem állítja be az első kódcellában, a folyamat futtatása sikertelen lesz, mert nem tudja újraindítani a munkamenetet. - A
%%configure
rendszer figyelmen kívül hagyja amssparkutils.notebook.run
használt parancsot, de a használt%run <notebook>
parancs továbbra is fut. - A szokásos Spark-konfigurációs tulajdonságokat kell használnia a
"conf"
törzsben. A Spark konfigurációs tulajdonságaihoz nem támogatjuk az első szintű hivatkozásokat. - Egyes speciális Spark-tulajdonságok nem lépnek érvénybe a törzsben
"conf"
, beleértve"spark.driver.cores"
a ,"spark.executor.cores"
,"spark.driver.memory"
,"spark.executor.memory"
és"spark.executor.instances"
.
Folyamat paraméteres munkamenet-konfigurációja
A paraméteres munkamenet-konfigurációval a magic parancs értékeit %%configure
folyamatfuttatási (notebook-tevékenység) paraméterekre cserélheti. Kódcella előkészítésekor %%configure
felülbírálhatja az alapértelmezett értékeket egy ilyen objektum használatával:
{
"activityParameterName": "paramterNameInPipelineNotebookActivity",
"defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
}
Az alábbi példában az és "2000"
az alapértelmezett értékek 4
láthatók, amelyek szintén konfigurálhatók:
%%configure
{
"driverCores":
{
"activityParameterName": "driverCoresFromNotebookActivity",
"defaultValue": 4
},
"conf":
{
"livy.rsc.sql.num-rows":
{
"activityParameterName": "rows",
"defaultValue": "2000"
}
}
}
A jegyzetfüzet akkor használja az alapértelmezett értéket, ha közvetlenül interaktív módban futtatja a jegyzetfüzetet, vagy ha a folyamatjegyzetfüzet-tevékenység nem ad meg egyező "activityParameterName"
paramétert.
A folyamatfuttatási módban a Beállítások lapon konfigurálhatja a folyamatjegyzetfüzet-tevékenységek beállításait.
Ha módosítani szeretné a munkamenet-konfigurációt, a folyamatjegyzetfüzet tevékenységparaméterének a jegyzetfüzet nevével megegyezőnek activityParameterName
kell lennie. Ebben a példában egy folyamat futtatása 8
során lecseréli 4000
driverCores
%%configure
és lecseréli livy.rsc.sql.num-rows
a folyamatot.
Ha egy folyamat futtatása a magic parancs használata %%configure
után meghiúsul, további hibainformációkat kaphat a %%configure
varázslócella interaktív módban való futtatásával.
Adatok felvétele jegyzetfüzetbe
Az azure Data Lake Storage Gen 2, az Azure Blob Storage és az SQL-készletek adatait az alábbi kódmintákban látható módon töltheti be.
CSV-fájl olvasása az Azure Data Lake Storage Gen2-ből Spark DataFrame-ként
from pyspark.sql import SparkSession
from pyspark.sql.types import *
account_name = "Your account name"
container_name = "Your container name"
relative_path = "Your path"
adls_path = 'abfss://%s@%s.dfs.core.windows.net/%s' % (container_name, account_name, relative_path)
df1 = spark.read.option('header', 'true') \
.option('delimiter', ',') \
.csv(adls_path + '/Testfile.csv')
CSV-fájl olvasása az Azure Blob Storage-ból Spark DataFrame-ként
from pyspark.sql import SparkSession
# Azure storage access info
blob_account_name = 'Your account name' # replace with your blob name
blob_container_name = 'Your container name' # replace with your container name
blob_relative_path = 'Your path' # replace with your relative folder path
linked_service_name = 'Your linked service name' # replace with your linked service name
blob_sas_token = mssparkutils.credentials.getConnectionStringOrCreds(linked_service_name)
# Allow Spark to access from Azure Blob Storage remotely
wasb_path = 'wasbs://%s@%s.blob.core.windows.net/%s' % (blob_container_name, blob_account_name, blob_relative_path)
spark.conf.set('fs.azure.sas.%s.%s.blob.core.windows.net' % (blob_container_name, blob_account_name), blob_sas_token)
print('Remote blob path: ' + wasb_path)
df = spark.read.option("header", "true") \
.option("delimiter","|") \
.schema(schema) \
.csv(wasbs_path)
Adatok olvasása az elsődleges tárfiókból
Az elsődleges tárfiók adatai közvetlenül is elérhetők. Nem kell megadni a titkos kulcsokat. Az Adatkezelőben kattintson a jobb gombbal egy fájlra, és válassza az Új jegyzetfüzet lehetőséget egy automatikusan létrehozott adatelszívóval rendelkező új jegyzetfüzet megtekintéséhez.
IPython-vezérlők használata
A widgetek eseménydús Python-objektumok, amelyek a böngészőben jelennek meg, gyakran vezérlőelemként, például csúszkaként vagy szövegdobozként. Az IPython-vezérlők csak Python-környezetekben működnek. Más nyelveken (például Scala, SQL vagy C#) jelenleg nem támogatottak.
Az IPython-vezérlők használatának lépései
Importálja a modult
ipywidgets
a Jupyter Widgets-keretrendszer használatához:import ipywidgets as widgets
A felső szintű
display
függvény használatával megjeleníthet egy widgetet, vagy a kódcella utolsó sorában hagyhat egy típuskifejezéstwidget
:slider = widgets.IntSlider() display(slider)
slider = widgets.IntSlider() slider
Futtassa a cellát. A widget a kimeneti területen jelenik meg.
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
Widget típusa | Vezérlők |
---|---|
Numerikus | IntSlider , FloatSlider , FloatLogSlider , IntRangeSlider , FloatRangeSlider IntProgress , FloatProgress , BoundedIntText , BoundedFloatText , , IntText FloatText |
Logikai | ToggleButton , , Checkbox Valid |
Kiválasztás | Dropdown , RadioButtons , Select , SelectionSlider SelectionRangeSlider , ToggleButtons SelectMultiple |
Sztring | Text , Text area , Combobox , Password Label , HTML , HTML Math , , Image Button |
Lejátszás (animáció) | Date picker , , Color picker Controller |
Tároló/elrendezés | Box , HBox , VBox , GridBox Accordion , Tabs Stacked |
Ismert korlátozások
Az alábbi táblázat a jelenleg nem támogatott widgeteket és kerülő megoldásokat sorolja fel:
Funkciók Áthidaló megoldás Output
WidgetA függvényt print()
használhatja a szöveg beírásárastdout
.widgets.jslink()
A függvény segítségével widgets.link()
összekapcsolhat két hasonló widgetet.FileUpload
WidgetNincs elérhető. Az Azure Synapse Analytics által biztosított globális
display
függvény nem támogatja több widget megjelenítését egy hívásban (azazdisplay(a, b)
). Ez a viselkedés eltér az IPythondisplay
függvénytől.Ha bezár egy IPython-vezérlőt tartalmazó jegyzetfüzetet, nem tekintheti meg és nem használhatja a widgetet, amíg újra nem futtatja a megfelelő cellát.
Jegyzetfüzetek mentése
Egyetlen jegyzetfüzetet vagy a munkaterület összes jegyzetfüzetét mentheti:
Ha egyetlen jegyzetfüzeten végzett módosításokat szeretne menteni, válassza a Jegyzetfüzet parancssávJának Közzététel gombját.
A munkaterület összes jegyzetfüzetének mentéséhez válassza az Összes közzététele gombot a munkaterület parancssávján.
A jegyzetfüzet Tulajdonságok paneljén beállíthatja, hogy a cellakimenetet a mentéskor is tartalmazza-e.
Varázsparancsok használata
A Synapse-jegyzetfüzetekben ismerős Jupyter-varázsparancsokat használhat. Tekintse át a jelenleg elérhető varázsparancsok alábbi listáját. Mondja el a gitHub használati eseteit, hogy továbbra is hozzunk létre további mágikus parancsokat az igényeinek megfelelően.
Feljegyzés
A Synapse-folyamatokban csak a következő varázsparancsok támogatottak: %%pyspark
, %%spark
, , %%csharp
%%sql
.
A sorokhoz elérhető varázsparancsok:
%lsmagic
, %time
, %timeit
, %history
%run
%load
A cellákhoz elérhető varázsparancsok:
%%time
, %%timeit
, %%capture
, %%writefile
, %%sql
%%pyspark
, %%spark
, %%csharp
, , %%html
%%configure
Nem közzétett jegyzetfüzet hivatkozása
A nem közzétett jegyzetfüzetekre való hivatkozás akkor hasznos, ha helyi hibakeresést szeretne végezni. Ha engedélyezi ezt a funkciót, egy jegyzetfüzet futtatása lekéri a webes gyorsítótár aktuális tartalmát. Ha olyan cellát futtat, amely tartalmaz egy referenciajegyzetfüzet-utasítást, akkor a fürtön mentett verzió helyett az aktuális jegyzetfüzet-böngészőben lévő bemutató jegyzetfüzetekre kell hivatkozni. Más jegyzetfüzetek hivatkozhatnak a jegyzetfüzet-szerkesztő módosításaira anélkül, hogy közzé kellene tennie (élő módban) vagy véglegesítenie (Git mód) a módosításokat. Ezzel a megközelítéssel megakadályozhatja a közös kódtárak szennyezését a fejlesztési vagy hibakeresési folyamat során.
A nem közzétett jegyzetfüzetekre való hivatkozás engedélyezéséhez jelölje be a megfelelő jelölőnégyzetet a Tulajdonságok panelen.
Az alábbi táblázat az eseteket hasonlítja össze. Bár a %run és az mssparkutils.notebook.run ugyanazzal a viselkedéssel rendelkezik, a tábla példaként szolgál %run
.
Eset | Letiltás | Engedélyezés |
---|---|---|
Élő mód | ||
Nb1 (közzétéve) %run Nb1 |
Az Nb1 közzétett verziójának futtatása | Az Nb1 közzétett verziójának futtatása |
Nb1 (új) %run Nb1 |
Hiba | Új Nb1 futtatása |
Nb1 (korábban közzétett, szerkesztett) %run Nb1 |
Az Nb1 közzétett verziójának futtatása | Az Nb1 szerkesztett verziójának futtatása |
Git mód | ||
Nb1 (közzétéve) %run Nb1 |
Az Nb1 közzétett verziójának futtatása | Az Nb1 közzétett verziójának futtatása |
Nb1 (új) %run Nb1 |
Hiba | Új Nb1 futtatása |
Nb1 (nincs közzétéve, véglegesített) %run Nb1 |
Hiba | Véglegesített Nb1 futtatása |
Nb1 (korábban közzétett, véglegesített) %run Nb1 |
Az Nb1 közzétett verziójának futtatása | Az Nb1 véglegesített verziójának futtatása |
Nb1 (korábban közzétett, új az aktuális ágban) %run Nb1 |
Az Nb1 közzétett verziójának futtatása | Új Nb1 futtatása |
Nb1 (nincs közzétéve, korábban véglegesítve, szerkesztve) %run Nb1 |
Hiba | Az Nb1 szerkesztett verziójának futtatása |
Nb1 (korábban közzétett és véglegesített, szerkesztett) %run Nb1 |
Az Nb1 közzétett verziójának futtatása | Az Nb1 szerkesztett verziójának futtatása |
Összegezve:
- Ha letiltja a nem közzétett jegyzetfüzetekre való hivatkozást, mindig futtassa a közzétett verziót.
- Ha engedélyezi a nem közzétett jegyzetfüzetekre való hivatkozást, a referenciafuttatás mindig a jegyzetfüzet aktuális verzióját alkalmazza, amely a jegyzetfüzet UX-jén jelenik meg.
Aktív munkamenetek kezelése
A jegyzetfüzet-munkameneteket újra felhasználhatja anélkül, hogy újakat kellene elindítania. A Synapse-jegyzetfüzetekben az aktív munkameneteket egyetlen listában kezelheti. A lista megnyitásához válassza a három pontot (...), majd a Munkamenetek kezelése lehetőséget.
Az Aktív munkamenetek panel megjeleníti a jegyzetfüzetből indított aktuális munkaterület összes munkamenetét. A listában a munkamenet adatai és a hozzájuk tartozó jegyzetfüzetek láthatók. A Jegyzetfüzet leválasztása, a Munkamenet leállítása és a Megtekintés a figyelési műveletekben itt érhető el. A kijelölt jegyzetfüzetet egy másik jegyzetfüzetből indított aktív munkamenethez is csatlakoztathatja. A munkamenet ezután le lesz választva az előző jegyzetfüzetről (ha nem tétlen), és az aktuálishoz van csatolva.
Python-naplók használata jegyzetfüzetben
A Python-naplókat az alábbi mintakód használatával keresheti meg, és különböző naplószinteket és formátumokat állíthat be:
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 the 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 uses 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 uses 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 Synapse-jegyzetfüzetek támogatják a magic parancsot %history
az aktuális munkamenet bemeneti parancselőzményeinek nyomtatásához. A %history
magic parancs hasonló a szokásos Jupyter IPython parancshoz, és több nyelvi környezethez is használható egy jegyzetfüzetben.
%history [-n] [range [range ...]]
Az előző kódban -n
a nyomtatási végrehajtási szám szerepel. Az range
érték a következő lehet:
N
: A végrehajtott cella kódjánakNth
nyomtatása.M-N
: Kód nyomtatása aMth
Nth
végrehajtott cellába.
Ha például a bemeneti előzményeket az elsőről a másodikra szeretné nyomtatni, használja a következőt %history -n 1-2
: .
Jegyzetfüzet integrálása
Jegyzetfüzet hozzáadása folyamathoz
Ha jegyzetfüzetet szeretne hozzáadni egy meglévő folyamathoz, vagy új folyamatot szeretne létrehozni, válassza a jobb felső sarokban található Hozzáadás a folyamathoz gombot.
Paramétercella kijelölése
A jegyzetfüzet paraméterezéséhez válassza a három pontot (...) a cella eszköztárán található további parancsok eléréséhez. Ezután válassza a Paramétercella váltása lehetőséget a cella paramétercelláként való kijelöléséhez.
Az Azure Data Factory megkeresi a paramétercellát, és ezt a cellát kezeli alapértelmezettként a végrehajtási időpontban átadott paraméterekhez. A végrehajtási motor hozzáad egy új cellát a paramétercella alá bemeneti paraméterekkel az alapértelmezett értékek felülírásához.
Paraméterek értékeinek hozzárendelése folyamatból
Miután létrehozott egy jegyzetfüzetet paraméterekkel, futtathatja egy folyamatból Synapse-jegyzetfüzet-tevékenységgel. Miután hozzáadta a tevékenységet a folyamatvászonhoz, beállíthatja a paraméterértékeket 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 rendszerváltozóit.
Billentyűparancsok használata
A Jupyter notebookokhoz hasonlóan a Synapse-jegyzetfüzetek 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 üzemmódban van. A Synapse-jegyzetfüzetek a kódcellákhoz a következő két módot támogatják:
Parancs mód: Egy cella parancsmódban van, amikor egyetlen szövegkurzor sem kéri a beírást. Ha egy cella parancs módban van, szerkesztheti a jegyzetfüzet egészét, de nem írhat be egyes cellákba. Adja meg a parancsmódot az Esc billentyű kiválasztásával vagy az egérrel a cella szerkesztőterületén kívüli kijelöléshez.
Szerkesztési mód: Ha egy cella szerkesztési módban van, a szövegkurzor arra kéri, hogy írja be a cellát. A szerkesztési mód megadásához válassza az Enter billentyűt, vagy az egérrel jelölje ki a cella szerkesztőterületét.
Billentyűparancsok parancs módban
Művelet | Synapse-jegyzetfüzet parancsikonja |
---|---|
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
Művelet | Synapse-jegyzetfüzet parancsikonja |
---|---|
Kurzor mozgatása felfelé | Fel |
Kurzor mozgatása lefelé | Le |
Visszavonás | Ctrl+Z |
Ismétlés | Ctrl+Y |
Megjegyzés/megjegyzés feloldása | Ctrl+/ |
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 |
Kapcsolódó tartalom
- Synapse-mintajegyzetfüzetek
- Rövid útmutató: Apache Spark-készlet létrehozása az Azure Synapse Analyticsben webes eszközökkel
- Mi az Az Apache Spark az Azure Synapse Analyticsben?
- Az Apache Sparkhoz készült .NET használata az Azure Stream Analyticsszel
- Az Apache Sparkhoz készült .NET-dokumentáció
- Az Azure Synapse Analytics dokumentációja