Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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:
- Kezdje el mindenféle beállítás nélkül.
- 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.
Notebookok 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
- Cella bemenetének összecsukása
- Cella kimenetének összecsukása
- Használjon jegyzetfüzet vázlatot
Feljegyzés
A jegyzetfüzetekben a rendszer automatikusan létrehoz egy SparkSession
példányt, amelyet egy spark
nevű változóban tárol. Van egy változó is, amelyet SparkContext
-nak hívnak 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 billentyűparancsokat használjon. 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 öt 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 | Futtasson egy Python-lekérdezést a következőn: SparkContext . |
%%spark |
Scala | Scala lekérdezés futtatása a(z) SparkContext ellen. |
%%sql |
Spark SQL | Futtasson egy Spark SQL-lekérdezést a következőn: SparkContext . |
%%csharp |
.NET for Spark C# | Hajtson végre egy .NET Spark C# lekérdezést a SparkContext ellen. |
%%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 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 | Rendszerfüggvény kódbefejezé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 a Sparkhez (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ódrészleteket úgy tekintheti meg a kódcella-szerkesztőben, ha beírja a kódtöredék szót vagy bármelyik olyan kulcsszót, amely a kódrészlet címében szerepel. 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ákat rendezd át.
- Paramétercella be- vagy kikapcsolása.
- Konvertálás kódcella és Markdown-cella között.
Megjegyzés
Nem vonhatja vissza a szövegműveleteket és a megjegyzési műveleteket egy cellában.
Megjegyzés a 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űveleteket hajthatja végre a ... melletti További három pont lehetőség kiválasztásával a hozzászólása mellett.
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 kibővítéséhez válassza a Kimenet megjelenítése opciót, miközben a cella kimenete rejtve van.
Egy jegyzetfüzeti vázlat 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 folyamata 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.
Használjon billentyűparancsokat parancs módban. 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 fenti vagy alatti cella futtatása
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üzetre hivatkozni
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.
Íme egy példa:
%run /<path>/Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
A jegyzetfüzet referenciája interaktív módban és pipeline-okban 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 futtassa a jegyzetfüzet elején a %%configure
-t. Í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
driverMemory
ésexecutorMemory
számára a%%configure
-ben. 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örzs
"conf"
-ben, beleértve"spark.driver.cores"
,"spark.executor.cores"
,"spark.driver.memory"
,"spark.executor.memory"
és"spark.executor.instances"
.
Paraméterezett munkamenet-konfiguráció egy folyamatvonalból
A paraméteres munkamenet-konfigurációval a magic parancs értékeit %%configure
folyamatfuttatási (notebook-tevékenység) paraméterekre cserélheti. Amikor %%configure
kódcellát készít elő, az alapértelmezett értékeket felülbírálhatja egy ilyen objektum használatával:
{
"activityParameterName": "parameterNameInPipelineNotebookActivity",
"defaultValue": "defaultValueIfNoParameterFromPipelineNotebookActivity"
}
Az alábbi példában az 4
és "2000"
alapértelmezett értékek 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 csővezeték futtatása során a 8
lecseréli a driverCores
-t a %%configure
-ben, és a 4000
lecseréli a livy.rsc.sql.num-rows
-t.
Ha egy folyamatcső futtatása a %%configure
mágikus parancs használata után meghiúsul, további hibainformációkat kaphat a %%configure
mágikus cella notebook 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 | Widgetek |
---|---|
Numerikus |
IntSlider , FloatSlider , FloatLogSlider , IntRangeSlider , FloatRangeSlider IntProgress , FloatProgress , BoundedIntText , BoundedFloatText , , IntText FloatText |
Booleán | \ |
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 print()
függvényt használhatja a szövegstdout
beírására helyett.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.
Megjegyzé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
Hivatkozzon egy ki nem adott jegyzetfüzetre
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ő megnyitott 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 ugyanúgy viselkedik itt, a táblázat a %run
példaként használja.
Eset | Kikapcsolá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, elkötelezett) %run Nb1 |
Hiba | Véglegesített Nb1 futtatása |
Nb1 (korábban közzétett, elkötelezett) %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 az ellipszist (...), majd a 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üzettel való leválasztás, a munkamenet leállítása, és a megtekintés a figyelésben itt érhető el. A kijelölt jegyzetfüzetet egy másik jegyzetfüzetből indított aktív munkamenethez is csatlakoztathatja. A munkamenetet ezután leválasztják az előző jegyzetfüzetről (ha éppen nem tétlen), és az aktuálishoz csatolják.
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
: ANth
cellában végrehajtott kód nyomtatása. -
M-N
: Kód nyomtatása aMth
-ról aNth
végrehajtott cellába.
Például, ha a bemeneti előzményeket akarja kinyomtatni az első és a második végrehajtott cella között, használja a következőt %history -n 1-2
.
Jegyzetfüzet integrálása
Jegyzetfüzet hozzáadása csővezetékhez
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étercellaké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éterértékek hozzárendelése egy adatfolyamatbó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 |
Jelölje ki az alábbi cellát. | Le |
Előző cella kijelölése | K |
Következő cella kijelölése | J |
Cella beszúrása felülre | A |
Cella beszúrása lent | B |
Kijelölt cellák törlése | Shift+D |
Váltás szerkesztési módra | Belépés |
Billentyűparancsok szerkesztési módban
Akció | Synapse-jegyzetfüzet parancsikonja |
---|---|
Kurzor mozgatása felfelé | Fel |
Kurzor mozgatása lefelé | Le |
Visszavonás | Ctrl+Z |
Újra | Ctrl+Y |
Megjegyzés hozzáadása/megjegyzés eltávolítá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 (ugorj a dokumentum végére) |
Menj egy szóval balra | Ctrl+Bal |
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 |
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 Apache Spark az Azure Synapse Analyticsben?
- .NET használata az Apache Sparkhoz az Azure Synapse Analyticsszel
- Az Apache Sparkhoz készült .NET-dokumentáció
- Az Azure Synapse Analytics dokumentációja