Vytváření, vývoj a údržba poznámkových bloků Synapse ve službě Azure Synapse Analytics

Poznámkový blok Synapse je webové rozhraní, které umožňuje vytvářet soubory, které obsahují živý kód, vizualizace a text vyprávění. Poznámkové bloky jsou vhodným místem pro ověřování nápadů a rychlé experimenty, které vám pomohou získat poznatky z dat. Poznámkové bloky se také běžně používají při přípravě dat, vizualizaci dat, strojovém učení a dalších scénářích pro velké objemy dat.

S poznámkovým blokem Synapse můžete:

  • Začněte s nulovým úsilím o nastavení.
  • Udržujte data zabezpečená pomocí integrovaných podnikových funkcí zabezpečení.
  • Analyzujte data v nezpracovaných formátech (CSV, txt, JSON atd.), zpracovaných formátech souborů (parquet, Delta Lake, ORC atd.) a tabulkových datových souborů SQL ve Sparku a SQL.
  • Buďte produktivní díky vylepšeným možnostem vytváření a integrované vizualizaci dat.

Tento článek popisuje, jak používat poznámkové bloky v nástroji Synapse Studio.

Vytvoření poznámkového bloku

Poznámkový blok můžete vytvořit dvěma způsoby. Můžete vytvořit nový poznámkový blok nebo importovat existující poznámkový blok do pracovního prostoru Synapse z Průzkumník objektů. Poznámkové bloky Synapse rozpoznávají standardní soubory IPYNB poznámkového bloku Jupyter.

Snímek obrazovky s vytvořením nového nebo importního poznámkového bloku

Vývoj poznámkových bloků

Poznámkové bloky se skládají z buněk, které jsou jednotlivé bloky kódu nebo textu, které je možné spouštět nezávisle nebo jako skupinu.

Poskytujeme bohaté operace pro vývoj poznámkových bloků:

Poznámka:

V poznámkových blocích se pro vás automaticky vytvoří SparkSession, která je uložená v proměnné s názvem spark. Existuje také proměnná pro SparkContext, která se nazývá sc. Uživatelé mají k těmto proměnným přístup přímo a neměli by měnit hodnoty těchto proměnných.

Přidání buňky

Do poznámkového bloku můžete přidat novou buňku několika způsoby.

  1. Najeďte myší na mezeru mezi dvěma buňkami a vyberte Kód nebo Markdown. Snímek obrazovky s tlačítkem add-azure-notebook-cell-with-cell-button

  2. V režimu příkazů použijte klávesové zkratky aznb. Stisknutím klávesy A vložte buňku nad aktuální buňku. Stisknutím klávesy B vložte buňku pod aktuální buňku.


Nastavení primárního jazyka

Poznámkové bloky Synapse podporují čtyři jazyky Apache Sparku:

  • PySpark (Python)
  • Spark (Scala)
  • Spark SQL
  • .NET Spark (C#)
  • SparkR (R)

Primární jazyk pro nové přidané buňky můžete nastavit z rozevíracího seznamu na horním panelu příkazů.

Snímek obrazovky s jazykem default-synapse-language

Použití více jazyků

V jednom poznámkovém bloku můžete použít více jazyků zadáním správného příkazu magic jazyka na začátku buňky. Následující tabulka uvádí příkazy magic pro přepínání jazyků buněk.

Příkaz Magic Jazyk Popis
%%pyspark Python Spusťte dotaz Pythonu s kontextem Sparku.
%%spark Scala Spusťte dotaz Scala s kontextem Sparku.
%%sql SparkSQL Spusťte dotaz SparkSQL s kontextem Sparku.
%%csharp .NET pro Spark C# Spusťte dotaz .NET pro Spark C# s kontextem Sparku.
%%sparkr R Spusťte dotaz R s kontextem Sparku.

Následující obrázek je příkladem toho, jak můžete napsat dotaz PySpark pomocí příkazu magic %%pyspark nebo dotazu SparkSQL pomocí příkazu magic %%sql v poznámkovém bloku Spark(Scala). Všimněte si, že primární jazyk poznámkového bloku je nastavený na pySpark.

Snímek obrazovky s příkazy magic Synapse Spark

Použití dočasných tabulek k odkazování na data napříč jazyky

V poznámkovém bloku Synapse nemůžete odkazovat na data ani proměnné přímo v různých jazycích. Ve Sparku lze na dočasnou tabulku odkazovat napříč jazyky. Tady je příklad, jak číst Scala datový rámec PySpark a SparkSQL jak jako alternativní řešení použít dočasnou tabulku Sparku.

  1. V buňce 1 načtěte datový rámec z konektoru fondu SQL pomocí scaly a vytvořte dočasnou tabulku.

    %%spark
    val scalaDataFrame = spark.read.sqlanalytics("mySQLPoolDatabase.dbo.mySQLPoolTable")
    scalaDataFrame.createOrReplaceTempView( "mydataframetable" )
    
  2. V buňce 2 zadejte dotaz na data pomocí Spark SQL.

    %%sql
    SELECT * FROM mydataframetable
    
  3. V buňce 3 použijte data v PySparku.

    %%pyspark
    myNewPythonDataFrame = spark.sql("SELECT * FROM mydataframetable")
    

IntelliSense ve stylu integrovaného vývojového prostředí

Poznámkové bloky Synapse jsou integrované s editorem Monaku, aby se do editoru buněk přenesla technologie IntelliSense ve stylu IDE. Zvýrazňování syntaxe, značka chyb a automatické dokončování kódu vám pomůžou rychleji psát kód a identifikovat problémy.

Funkce IntelliSense jsou na různých úrovních vyspělosti pro různé jazyky. V následující tabulce se dozvíte, co je podporované.

Jazyky Zvýraznění syntaxe Značka chyby syntaxe Dokončování syntaxe kódu Dokončování kódu proměnné Dokončování kódu systémové funkce Dokončování kódu funkce uživatele Inteligentní odsazení Skládání kódu
PySpark (Python) Ano Ano Ano Ano Ano Ano Ano Yes
Spark (Scala) Ano Ano Ano Ano Ano Ano - Yes
SparkSQL Ano Ano Ano Ano Yes - - -
.NET pro Spark (C#) Ano Ano Ano Ano Ano Ano Ano Ano

Poznámka:

Aktivní relace Sparku je nutná k tomu, aby využívala dokončování kódu proměnné, dokončování kódu systémové funkce, dokončování kódu uživatelského funkce pro .NET pro Spark (C#).

Fragmenty kódu

Poznámkové bloky Synapse poskytují fragmenty kódu, které usnadňují zadávání běžných vzorů kódu, jako je konfigurace relace Sparku, čtení dat jako datového rámce Sparku nebo kreslení grafů pomocí knihovny matplotlib atd.

Fragmenty kódu se zobrazují v klávesových zkratkách ve stylu IDE, ve které je IntelliSense smíšený s dalšími návrhy. Obsah fragmentů kódu odpovídá jazyku buněk kódu. Dostupné fragmenty kódu můžete zobrazit zadáním fragmentu kódu nebo libovolných klíčových slov v názvu fragmentu kódu. Zadáním čtení můžete například zobrazit seznam fragmentů kódu pro čtení dat z různých zdrojů dat.

Animovaný obrázek GIF fragmentů kódu Synapse

Formátování textové buňky pomocí tlačítek panelu nástrojů

Pomocí tlačítek formátu na panelu nástrojů textových buněk můžete provádět běžné akce markdownu. Zahrnuje tučný text, kurzívu, odstavec/záhlaví prostřednictvím rozevíracího seznamu, vložení kódu, vložení neuspořádaného seznamu, vložení uspořádaného seznamu, vložení hypertextového odkazu a vložení obrázku z adresy URL.

Snímek obrazovky s panelem nástrojů textových buněk Synapse


Zpět /Znovu provést operaci buňky

Vyberte tlačítko Zpět znovu / nebo stisknutím kláves Z / Shift+Z odvoláte nejnovější operace buněk. Nyní můžete vrátit zpět nebo znovu provést až nejnovější 10 historických operací buněk.

Snímek obrazovky synapse s buňkami aznb zpět

Podporované operace vrácení buněk zpět:

  • Vložit/odstranit buňku: Operace odstranění můžete odvolat tak , že vyberete Zpět, text se zachová spolu s buňkou.
  • Změnit pořadí buněk
  • Přepněte parametr.
  • Převod mezi buňkou Kódu a buňkou Markdownu

Poznámka:

Textové operace v buňce a operace komentování buněk kódu se nedají vrátit zpět. Nyní můžete vrátit zpět nebo znovu provést až nejnovější 10 historických operací buněk.


Komentování buněk kódu

  1. Výběrem tlačítka Komentáře na panelu nástrojů poznámkového bloku otevřete podokno Komentáře .

    Snímek obrazovky s tlačítkem komentáře Synapse

  2. Vyberte kód v buňce kódu, klikněte v podokně Komentáře na Nový, přidejte komentáře a pak klikněte na tlačítko Publikovat komentář a uložte ho.

    Snímek obrazovky s novým komentářem Synapse

  3. Kliknutím na tlačítko Další vedle komentáře můžete provést úpravu komentáře, přeložit vlákno nebo Odstranit vlákno.

    Snímek obrazovky s komentářem k úpravě Synapse


Přesunutí buňky

Klikněte na levou stranu buňky a přetáhněte ji na požadovanou pozici. Animovaný obrázek GIF buněk přesunu Synapse


Odstranění buňky

Pokud chcete odstranit buňku, vyberte tlačítko pro odstranění v pravé části buňky.

Můžete také použít klávesové zkratky v režimu příkazů. Stisknutím kombinace kláves Shift+D odstraníte aktuální buňku.

Snímek obrazovky azure-notebook-delete-a-cell


Sbalení vstupu buňky

Na panelu nástrojů buňky vyberte tři tečky (...) Další příkazy a skryjte vstup a sbalte vstup aktuální buňky. Pokud ho chcete rozbalit, vyberte při sbalení buňky vstup Zobrazit.

Animovaný obrázek GIF azure-notebook-collapse-cell-input


Sbalení výstupu buňky

Na panelu nástrojů buňky vyberte tři tečky dalších příkazů (...) a skryjte výstup a sbalte výstup aktuální buňky. Pokud ho chcete rozbalit, vyberte výstup Zobrazit, zatímco je výstup buňky skrytý.

Animovaný obrázek GIF azure-notebook-collapse-cell-output


Osnova poznámkového bloku

Osnovy (obsah) zobrazí první záhlaví markdownu libovolné buňky markdownu v okně bočního panelu pro rychlou navigaci. Boční panel Osnovy je možné změnit a sbalit tak, aby se na obrazovku vešel nejlepšími způsoby. Na panelu příkazů poznámkového bloku můžete vybrat tlačítko Osnova a otevřít nebo skrýt boční panel.

Snímek obrazovky s přehledem azure-notebook


Spouštění poznámkových bloků

Buňky kódu můžete v poznámkovém bloku spouštět jednotlivě nebo najednou. Stav a průběh jednotlivých buněk se v poznámkovém bloku zobrazují.

Spuštění buňky

Kód v buňce můžete spustit několika způsoby.

  1. Najeďte myší na buňku, kterou chcete spustit, a vyberte tlačítko Spustit buňku nebo stiskněte Ctrl+Enter.

    Snímek obrazovky s run-cell-1

  2. Použijte klávesové zkratky v režimu příkazu. Stisknutím kombinace kláves Shift+Enter spusťte aktuální buňku a vyberte buňku níže. Stisknutím kombinace kláves Alt+Enter spusťte aktuální buňku a vložte novou buňku pod.


Spuštění všech buněk

Výběrem tlačítka Spustit vše spustíte všechny buňky v aktuálním poznámkovém bloku v posloupnosti.

Snímek obrazovky s buňkami run-all-cells

Spuštění všech buněk nad nebo pod

Rozbalte rozevírací seznam z tlačítka Spustit vše a potom výběrem možnosti Spustit buňky výše spusťte všechny buňky nad aktuálním pořadím. Výběrem možnosti Spustit buňky níže spustíte všechny buňky pod aktuálním pořadím.

Snímek obrazovky azure-notebook-run-cells-above-or-below


Zrušení všech spuštěných buněk

Výběrem tlačítka Zrušit vše zrušíte spuštěné buňky nebo buňky čekající ve frontě. Snímek obrazovky azure-notebook-cancel-all-cells


Referenční informace k poznámkovému bloku

Příkaz magic můžete použít %run <notebook path> k odkazování na jiný poznámkový blok v kontextu aktuálního poznámkového bloku. Všechny proměnné definované v referenčním poznámkovém bloku jsou dostupné v aktuálním poznámkovém bloku. %run Příkaz magic podporuje vnořené volání, ale nepodporuje rekurzivní volání. Pokud je hloubka příkazu větší než pět, obdržíte výjimku.

Příklad: %run /<path>/Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }.

Referenční informace k poznámkovému bloku fungují v interaktivním režimu i v kanálu Synapse.

Poznámka:

  • %run příkaz aktuálně podporuje pouze předání absolutní cesty nebo názvu poznámkového bloku pouze jako parametr, relativní cesta není podporována.
  • %run příkaz v současné době podporuje pouze 4 typy hodnot parametrů: int, float, bool, stringproměnná nahrazení operace není podporována.
  • Odkazované poznámkové bloky se vyžadují k publikování. Pokud není povolený nepublikovaný poznámkový blok, musíte poznámkové bloky publikovat a odkazovat na ně. Synapse Studio nerozpozná nepublikované poznámkové bloky z úložiště Git.
  • Odkazované poznámkové bloky nepodporují prohlášení o tom, že hloubka je větší než pět.

Průzkumník proměnných

Poznámkový blok Synapse poskytuje integrovaného průzkumníka proměnných, abyste viděli seznam názvů proměnných, typu, délky a hodnoty v aktuální relaci Sparku pro buňky PySpark (Python). Při definování v buňkách kódu se automaticky zobrazí více proměnných. Kliknutím na záhlaví každého sloupce seřadíte proměnné v tabulce.

Výběrem tlačítka Proměnné na panelu příkazů poznámkového bloku můžete otevřít nebo skrýt průzkumníka proměnných.

Snímek obrazovky azure-notebook-variable-explorer

Poznámka:

Průzkumník proměnných podporuje pouze Python.


Indikátor stavu buňky

Pod buňkou se zobrazí podrobný stav provádění buněk, který vám pomůže zobrazit aktuální průběh. Po dokončení běhu buňky se zobrazí souhrn spuštění s celkovou dobou trvání a koncovým časem a zůstane tam pro budoucí referenci.

Snímek obrazovky se stavem buňky

Indikátor průběhu Sparku

Poznámkový blok Synapse je čistě založený na Sparku. Buňky kódu se spouští na vzdáleném bezserverovém fondu Apache Spark. Zobrazí se indikátor průběhu úlohy Sparku s indikátorem průběhu v reálném čase, který vám pomůže pochopit stav provádění úlohy. Počet úkolů pro každou úlohu nebo fázi vám pomůže identifikovat paralelní úroveň úlohy Sparku. Můžete také přejít hlouběji do uživatelského rozhraní Sparku konkrétní úlohy (nebo fáze) tak, že vyberete odkaz na název úlohy (nebo fáze).

Snímek obrazovky s indikátorem průběhu sparku

Konfigurace relace Sparku

Můžete určit dobu trvání časového limitu, číslo a velikost exekutorů, které se mají předat aktuální relaci Sparku v konfiguraci relace. Restartováním relace Sparku se projeví změny konfigurace. Všechny proměnné poznámkového bloku v mezipaměti jsou vymazány.

Můžete také vytvořit konfiguraci z konfigurace Apache Sparku nebo vybrat existující konfiguraci. Podrobnosti najdete v tématu Správa konfigurace Apache Sparku.

Snímek obrazovky se správou relací

Příkaz magic konfigurace relace Sparku

Nastavení relace Sparku můžete také zadat pomocí příkazu magic %%configure. Relace Sparku se musí restartovat, aby se nastavení projevilo. Doporučujeme spustit konfiguraci %%na začátku poznámkového bloku. Tady je ukázka, kde najdete https://github.com/cloudera/livy#request-body úplný seznam platných parametrů.

%%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", "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 standard spark property, to find more available properties please visit:https://spark.apache.org/docs/latest/configuration.html#application-properties.
        "spark.driver.maxResultSize":"10g",
    //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" 
    }
}

Poznámka:

  • "DriverMemory" a "ExecutorMemory" se doporučuje nastavit stejnou hodnotu v %%configure, takže proveďte "driverCores" a "executorCores".
  • Můžete použít %%configure v kanálech Synapse, ale pokud není nastavená v první buňce kódu, spuštění kanálu selže kvůli nemožnosti restartovat relaci.
  • Konfigurace %%nakonfigurovaná v mssparkutils.notebook.run bude ignorována, ale bude použita v %run poznámkovém bloku, bude pokračovat v provádění.
  • Standardní vlastnosti konfigurace Sparku musí být použity v textu "conf". Pro vlastnosti konfigurace Sparku nepodporujeme referenční informace na první úrovni.
  • Některé speciální vlastnosti sparku, mezi které patří spark.driver.cores, spark.executor.cores, spark.driver.memory, spark.executor.memory, spark.executor.instances, se neprojeví v těle conf.

Parametrizovaná konfigurace relace z kanálu

Parametrizovaná konfigurace relace umožňuje nahradit hodnotu v nástroji %%configure magic parametry spuštění kanálu (aktivita poznámkového bloku). Při přípravě buňky kódu %%configure můžete přepsat výchozí hodnoty (také konfigurovatelné, 4 a "2000" v následujícím příkladu) objektem, jako je tento:

{
      "activityParameterName": "paramterNameInPipelineNotebookActivity",
      "defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
} 
%%configure  

{ 
    "driverCores": 
    { 
        "activityParameterName": "driverCoresFromNotebookActivity", 
        "defaultValue": 4 
    }, 
    "conf": 
    { 
        "livy.rsc.sql.num-rows": 
        { 
            "activityParameterName": "rows", 
            "defaultValue": "2000" 
        } 
    } 
} 

Poznámkový blok používá výchozí hodnotu, pokud poznámkový blok spustíte v interaktivním režimu přímo nebo žádný parametr, který odpovídá aktivitě activityParameterName, z aktivity poznámkového bloku kanálu.

Během režimu spuštění kanálu můžete nakonfigurovat nastavení aktivity poznámkového bloku kanálu následujícím způsobem: Snímek obrazovky s parametrizovanou konfigurací relace

Pokud chcete změnit konfiguraci relace, název parametrů aktivity poznámkového bloku kanálu by měl být stejný jako activityParameterName v poznámkovém bloku. Při spuštění tohoto kanálu se v tomto příkladu jader ovladačů v %%configure nahradí 8 a livy.rsc.sql.num-rows se nahradí číslem 4000.

Poznámka:

Pokud spuštění kanálu selhalo kvůli použití tohoto nového magic %%configure, můžete zkontrolovat další informace o chybách spuštěním příkazu %%configure magic cell v interaktivním režimu poznámkového bloku.

Přenesení dat do poznámkového bloku

Můžete načíst data z Azure Blob Storage, Azure Data Lake Store Gen2 a fondu SQL, jak je znázorněno v ukázkách kódu níže.

Čtení sdíleného svazku clusteru z Azure Data Lake Store Gen2 jako datového rámce Spark

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')

Čtení sdíleného svazku clusteru ze služby Azure Blob Storage jako datového rámce Spark


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 Blob 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)

Čtení dat z primárního účtu úložiště

K datům v primárním účtu úložiště můžete přistupovat přímo. Tajné klíče nemusíte zadávat. V Průzkumníku dat klikněte pravým tlačítkem na soubor a vyberte Nový poznámkový blok, aby se zobrazil nový poznámkový blok s automaticky vygenerovaným extraktorem dat.

Snímek obrazovky s daty do buňky

Widgety IPython

Widgety jsou objekty Pythonu, které mají reprezentaci v prohlížeči, často jako ovládací prvek, jako je posuvník, textové pole atd. Widgety IPythonu fungují jenom v prostředí Pythonu, nejsou podporované v jiných jazycích (například Scala, SQL, C#).

Použití widgetu IPython

  1. Abyste mohli použít architekturu Widget Jupyter, musíte nejprve importovat ipywidgets modul.

    import ipywidgets as widgets
    
  2. Pomocí funkce nejvyšší úrovně display můžete vykreslit widget nebo nechat výraz typu widgetu na posledním řádku buňky kódu.

    slider = widgets.IntSlider()
    display(slider)
    
    slider = widgets.IntSlider()
    slider
    
  3. Spusťte buňku, widget se zobrazí ve výstupní oblasti.

    Snímek obrazovky s posuvníkem widgetů ipython

  4. K vícenásobnému vykreslení stejné instance widgetu můžete použít více display() volání, ale vzájemně se synchronizují.

    slider = widgets.IntSlider()
    display(slider)
    display(slider)
    

    Snímek obrazovky s posuvníky widgetů ipythonu

  5. Pokud chcete vykreslit dva widgety nezávisle na sobě, vytvořte dvě instance widgetu:

    slider1 = widgets.IntSlider()
    slider2 = widgets.IntSlider()
    display(slider1)
    display(slider2)
    

Podporované widgety

Typ widgetů Pomůcky
Číselné widgety IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText
Logické widgety ToggleButton, Checkbox, Valid
Widgety pro výběr Dropdown, RadioButtons, Select, SelectionSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple
Widgety řetězců Text, Textová oblast, Pole se seznamem, Heslo, Popisek, HTML, Matematika HTML, Obrázek, Tlačítko
Widgety přehrát (animace) Výběr data, Výběr barvy, Kontroler
Widgety kontejneru a rozložení Box, HBox, VBox, GridBox, Accordion, Tabs, Stacked

Známá omezení

  1. Následující widgety ještě nejsou podporované, můžete postupovat podle odpovídajícího alternativního řešení, jak je znázorněno níže:

    Funkce Alternativní řešení
    Output Widget Místo toho můžete funkci použít print() k zápisu textu do stdoutu.
    widgets.jslink() Pomocí funkce můžete widgets.link() propojit dva podobné widgety.
    FileUpload Widget Zatím nepodporujeme.
  2. Globální display funkce, kterou poskytuje Synapse, nepodporuje zobrazování více widgetů v jednom volání (tj display(a, b). ), což se liší od funkce IPython display .

  3. Pokud zavřete poznámkový blok obsahující widget IPython, neuvidíte ho ani s ním nebudete moct pracovat, dokud znovu nespustíte odpovídající buňku.


Ukládání poznámkových bloků

Do pracovního prostoru můžete uložit jeden poznámkový blok nebo všechny poznámkové bloky.

  1. Pokud chcete uložit změny provedené v jednom poznámkovém bloku, vyberte tlačítko Publikovat na panelu příkazů poznámkového bloku.

    Snímek obrazovky s poznámkovým blokem pro publikování

  2. Pokud chcete uložit všechny poznámkové bloky v pracovním prostoru, vyberte na panelu příkazů pracovního prostoru tlačítko Publikovat vše .

    Snímek obrazovky s možností publikovat vše

Ve vlastnostech poznámkového bloku můžete nakonfigurovat, jestli se má při ukládání zahrnout výstup buňky.

Snímek obrazovky s vlastnostmi poznámkového bloku

Příkazy magic

Známé příkazy magic Jupyter můžete použít v poznámkových blocích Synapse. Prohlédněte si následující seznam jako aktuální dostupné příkazy magic. Řekněte nám , jak na GitHubu používáte případy použití, abychom mohli dál vytvářet další magické příkazy, které vyhovují vašim potřebám.

Poznámka:

Kanál Synapse podporuje pouze následující příkazy magic: %%pyspark, %%spark, %%csharp, %%sql.

Dostupné magické čáry: %lsmagic, %time, %timeit, %history, %run, %load

Dostupné magicky buněk: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%html, %%configure


Odkaz na nepublikovaný poznámkový blok

Odkazovaný nepublikovaný poznámkový blok je užitečný, když chcete ladit místně, když tuto funkci povolíte, spustí se při povolování této funkce načtení aktuálního obsahu ve webové mezipaměti, pokud spustíte buňku včetně příkazu referenčních poznámkových bloků, odkazujete na prezentace poznámkových bloků v aktuálním prohlížeči poznámkového bloku místo uložených verzí v clusteru, což znamená, že změny v editoru poznámkových bloků se dají okamžitě odkazovat jinými poznámkovými bloky bez nutnosti publikování (živého režimu) nebo potvrzení( Režim Gitu), díky využití tohoto přístupu se můžete snadno vyhnout znečisťování běžných knihoven během vývoje nebo ladění procesu.

Nepublikovaný poznámkový blok můžete povolit na panelu Vlastnosti:

Snímek obrazovky s referenčními informacemi k poznámkovému bloku

V různých případech si projděte následující tabulku:

Všimněte si, že %run a mssparkutils.notebook.run má stejné chování. Tady jako příklad používáme %run .

Velikost písmen Zakázat Povolit
Živý režim
- Nb1 (publikováno)
%run Nb1
Spustit publikovanou verzi Nb1 Spustit publikovanou verzi Nb1
- Nb1 (nový)
%run Nb1
Chyba Spuštění nového Nb1
- Nb1 (dříve publikováno, upraveno)
%run Nb1
Spustit publikovanou verzi Nb1 Spustit upravenou verzi Nb1
Režim Gitu
- Nb1 (publikováno)
%run Nb1
Spustit publikovanou verzi Nb1 Spustit publikovanou verzi Nb1
- Nb1 (nový)
%run Nb1
Chyba Spuštění nového Nb1
- Nb1 (nezveřejněn, potvrzeno)
%run Nb1
Chyba Spuštění potvrzené nb1
- Nb1 (dříve publikováno, potvrzeno)
%run Nb1
Spustit publikovanou verzi Nb1 Spuštění potvrzené verze Nb1
- Nb1 (dříve publikováno, nové v aktuální větvi)
%run Nb1
Spustit publikovanou verzi Nb1 Spuštění nového Nb1
- Nb1 (nepublikováno, dříve potvrzeno, upraveno)
%run Nb1
Chyba Spustit upravenou verzi Nb1
- Nb1 (dříve publikováno a potvrzeno, upraveno)
%run Nb1
Spustit publikovanou verzi Nb1 Spustit upravenou verzi Nb1

Závěr

  • Pokud je tato možnost zakázaná, vždy spusťte publikovanou verzi.
  • Pokud je tato možnost povolená, priorita je: upraveno / nové > potvrzené > publikování.

Aktivní správa relací

Relace poznámkového bloku můžete pohodlně používat, aniž byste museli začínat nové. Poznámkový blok Synapse teď podporuje správu aktivních relací v seznamu Spravovat relace . Všechny relace můžete zobrazit v aktuálním pracovním prostoru, které jste spustili z poznámkového bloku.

Snímek obrazovky s relacemi správy poznámkových bloků

V seznamu Aktivní relace můžete zobrazit informace o relaci a odpovídající poznámkový blok, který je aktuálně připojen k relaci. Odpojení můžete ovládat pomocí poznámkového bloku, zastavit relaci a zobrazit monitorování odsud. Kromě toho můžete vybraný poznámkový blok snadno připojit k aktivní relaci v seznamu spuštěném z jiného poznámkového bloku, relace se odpojí od předchozího poznámkového bloku (pokud není nečinná) a pak se připojí k aktuální relaci.

Snímek obrazovky se seznamem poznámkových bloků a relací

Protokolování Pythonu v poznámkovém bloku

Následující ukázkový kód najdete v protokolech Pythonu a nastavte různé úrovně protokolů a formát:

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")

Zobrazení historie vstupních příkazů

Poznámkový blok Synapse podporuje příkaz magic %history k tisku historie vstupních příkazů, která se spustila v aktuální relaci, a porovnává se standardním příkazem Jupyter Ipython, který %history funguje pro více jazyků v poznámkovém bloku.

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

Možnosti:

  • -n: Vytiskněte číslo spuštění.

Kde rozsah může být:

  • N: Vytiskněte kód Nth spuštěné buňky.
  • M-N: Vytiskněte kód z Mth do Nth spuštěné buňky.

Příklad:

  • Vytisknout historii vstupu od 1. do 2. spuštěné buňky: %history -n 1-2

Integrace poznámkového bloku

Přidání poznámkového bloku do kanálu

Výběrem tlačítka Přidat do kanálu v pravém horním rohu přidejte poznámkový blok do existujícího kanálu nebo vytvořte nový kanál.

Snímek obrazovky s přidáním poznámkového bloku do kanálu

Určení buňky parametrů

Pokud chcete v poznámkovém bloku parametrizovat, vyberte tři tečky (...) a získejte přístup k dalším příkazům na panelu nástrojů buňky. Potom vyberte Přepnout buňku parametru a určete buňku jako buňku parametrů.

Snímek obrazovky azure-notebook-toggle-parameter


Azure Data Factory vyhledá buňku parametrů a považuje tuto buňku za výchozí hodnoty parametrů předaných v době provádění. Prováděcí modul přidá novou buňku pod buňku parametrů se vstupními parametry, aby bylo možné přepsat výchozí hodnoty.

Přiřazení hodnot parametrů z kanálu

Jakmile vytvoříte poznámkový blok s parametry, můžete ho spustit z kanálu s aktivitou Poznámkového bloku Synapse. Po přidání aktivity na plátno kanálu budete moct nastavit hodnoty parametrů v části Základní parametry na kartě Nastavení.

Snímek obrazovky s přiřazením parametru

Při přiřazování hodnot parametrů můžete použít jazyk výrazu kanálu nebo systémové proměnné.

Klávesové zkratky

Podobně jako poznámkové bloky Jupyter mají poznámkové bloky Synapse modální uživatelské rozhraní. Klávesnice provádí různé věci v závislosti na tom, ve kterém režimu je buňka poznámkového bloku. Poznámkové bloky Synapse podporují následující dva režimy pro danou buňku kódu: režim příkazů a režim úprav.

  1. Buňka je v režimu příkazu, pokud není žádný kurzor textu, který vás vyzve k zadání. Pokud je buňka v režimu příkazu, můžete poznámkový blok upravit jako celek, ale nezadávat do jednotlivých buněk. Stisknutím nebo pomocí myši přejděte do režimu ESC příkazů a vyberte ho mimo oblast editoru buňky.

    Snímek obrazovky s režimem příkazů

  2. Režim úprav je označen kurzorem textu, který vás vyzve k zadání do oblasti editoru. Pokud je buňka v režimu úprav, můžete do buňky zadat text. Stiskněte Enter nebo pomocí myši přejděte do režimu úprav a vyberte ho v oblasti editoru buňky.

    Snímek obrazovky s režimem úprav

Klávesové zkratky v režimu příkazu

Akce Klávesové zkratky poznámkového bloku Synapse
Spusťte aktuální buňku a vyberte níže. Shift + Enter
Spusťte aktuální buňku a vložte ji níže. Alt+Enter
Spuštění aktuální buňky Ctrl+Enter
Vyberte buňku nad Nahoru
Vyberte buňku níže. Dolů
Výběr předchozí buňky K
Vybrat další buňku J
Vložit buňku nad A
Vložit buňku pod T
Odstranění vybraných buněk Shift+D
Přepnout do režimu úprav ENTER

Klávesové zkratky v režimu úprav

Pomocí následujících klávesových zkratek můžete snadněji procházet a spouštět kód v poznámkových blocích Synapse v režimu úprav.

Akce Klávesové zkratky poznámkového bloku Synapse
Přesunutí kurzoru nahoru Nahoru
Přesunutí kurzoru dolů Dolů
Zpět Ctrl+Z
Opakovat Ctrl+Y
Komentář/zrušení komentáře Ctrl+/
Odstranit slovo před Ctrl + Backspace
Odstranit slovo za Ctrl + Delete
Přechod na začátek buňky Ctrl +Home
Přechod na konec buňky Ctrl +End
Přejít o jedno slovo doleva Ctrl + vlevo
Přejít o jedno slovo doprava Ctrl + vpravo
Vybrat vše Ctrl + A
Odrážka Ctrl +]
Dedent Ctrl+[
Přepnout do režimu příkazů Esc

Další kroky