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

Poznámkový blok Synapse je webové rozhraní pro vytváření souborů, 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é často používají při přípravě dat, vizualizaci dat, strojovém učení a dalších scénářích velkých objemů 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 funkcí podnikového zabezpečení.
  • Analýza dat v nezpracovaných formátech (CSV, txt, JSON atd.), zpracovaných formátech souborů (parquet, Delta Lake, ORC atd.) a tabulkových datových souborech SQL pomocí Sparku a SQL.
  • Buďte produktivní díky vylepšeným možnostem vytváření obsahu a integrované vizualizaci dat.

Tento článek popisuje, jak používat poznámkové bloky v 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í Jupyter Notebook soubory IPYNB.

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

Vývoj poznámkových bloků

Poznámkové bloky se skládají z buněk, což jsou jednotlivé bloky kódu nebo textu, které se dají spustit nezávisle nebo jako skupina.

Pro vývoj poznámkových bloků poskytujeme bohaté operace:

Poznámka

V poznámkových blocích se 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římý přístup a neměli by měnit hodnoty těchto proměnných.

Přidání buňky

Existuje několik způsobů, jak přidat novou buňku do poznámkového bloku.

  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. Používejte klávesové zkratky aznb v režimu příkazů. 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 v rozevíracím seznamu na horním panelu příkazů.

Snímek obrazovky s 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 jazyka magic na začátku buňky. V následující tabulce jsou uvedeny magické příkazy pro přepínání jazyků buněk.

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

Následující obrázek ukazuje, 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 Sparku

Použití dočasných tabulek k odkazům na data v různých jazycích

V poznámkovém bloku Synapse nemůžete odkazovat přímo na data nebo proměnné v různých jazycích. Ve Sparku je možné odkazovat na dočasnou tabulku napříč jazyky. Tady je příklad, jak číst Scala datový rámec v PySpark nástroji 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 se na data dotazujte 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í (IDE)

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

Funkce IntelliSense jsou v různých jazycích na různých úrovních vyspělosti. V následující tabulce se dozvíte, co se podporuje.

Jazyky Zvýraznění syntaxe Značka chyby syntaxe Dokončování kódu syntaxe 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) Yes Yes Yes Yes Yes Yes Yes Yes
Spark (Scala) Yes Yes Yes Yes Yes Yes - Yes
SparkSQL Yes Yes Yes Yes Yes - - -
.NET pro Spark (C#) Yes Yes Yes Yes Yes Yes Yes Yes

Poznámka

Aktivní relace Sparku je nutná k tomu, aby bylo přínosné pro dokončování kódu proměnných, dokončování kódu systémové funkce a dokončování kódu uživatelské funkce pro .NET for Spark (C#).

Fragmenty kódu

Poznámkové bloky Synapse poskytují fragmenty kódu, které usnadňují zadávání běžně používaný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 části Klávesové zkratky technologie IntelliSense stylu integrovaného vývojového prostředí ve kombinaci s dalšími návrhy. Obsah fragmentů kódu je zarovnaný s jazykem buňky kódu. Dostupné fragmenty kódu můžete zobrazit zadáním fragmentu kódu nebo se v názvu fragmentu kódu zobrazí klíčová slova. Například zadáním příkazu read můžete 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 na panelu nástrojů

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

Snímek obrazovky s panelem nástrojů pro textové buňky Synapse


Zpět nebo Znovu operace s buňkami

Vyberte tlačítko Zpět / Znovu nebo stiskněte klávesy Z / Shift+Z , abyste odvolali nejnovější operace s buňkami. Teď můžete vrátit zpět nebo znovu provést až posledních 10 historických operací s buňkami.

Snímek obrazovky Synapse s vrácením buněk aznb zpět

Podporované operace s buňkami zpět:

  • Vložit nebo odstranit buňku: Operace odstranění můžete odvolat tak, že vyberete Zpět. Text se zachová společně s buňkou.
  • Změnit pořadí buňky.
  • Přepněte parametr.
  • Převod mezi buňkou s kódem a buňkou Markdownu

Poznámka

Operace textu v buňce a operace komentování buněk kódu se nedají vrátit zpět. Teď můžete vrátit zpět nebo znovu provést až posledních 10 historických operací s buňkami.


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 synapse pro komentář

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

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

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

    Snímek obrazovky s komentářem pro úpravy Synapse


Přesunutí buňky

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


Odstranění buňky

Pokud chcete odstranit buňku, vyberte tlačítko Odstranit na pravé straně buňky.

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

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


Sbalení vstupu do buňky

Na panelu nástrojů buňky vyberte tři tečky (...) Další příkazy a pokud chcete sbalit vstup aktuální buňky , vyberte Skrýt vstup . Rozbalíte ho tak, že vyberete zobrazit vstup , když je buňka sbalená.

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


Sbalení výstupu buňky

Na panelu nástrojů buňky vyberte tři tečky (...) Další příkazy a výběrem možnosti Skrýt výstup sbalte výstup aktuální buňky. Pokud ho chcete rozbalit, vyberte Zobrazit výstup , když je výstup buňky skrytý.

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


Osnova poznámkového bloku

Osnovy (obsah) zobrazí první záhlaví libovolné buňky Markdownu v okně bočního panelu pro rychlou navigaci. Boční panel Osnovy je možné měnit velikost a sbalit tak, aby se na obrazovku vešel co nejlépe. Výběrem tlačítka Osnova na panelu příkazů poznámkového bloku můžete otevřít nebo skrýt boční panel.

Snímek obrazovky s azure-notebook-outline


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

Buňky kódu v poznámkovém bloku můžete spustit jednotlivě nebo všechny najednou. Stav a průběh jednotlivých buněk je znázorněn v poznámkovém bloku.

Spuštění buňky

Existuje několik způsobů, jak spustit kód v buňce.

  1. Nastavte ukazatel myši na buňku, kterou chcete spustit, a vyberte tlačítko Spustit buňku nebo stiskněte kombinaci kláves Ctrl+Enter.

    Snímek obrazovky s buňkou run-cell-1

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


Spustit všechny buňky

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

Snímek obrazovky se spuštěním všech buněk

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

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

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


Zrušit všechny spuštěné buňky

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

Pomocí příkazu magic můžete %run <notebook path> odkazovat 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, zobrazí se výjimka.

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 parametru, relativní cesta není podporována.
  • %run Příkaz v současné době podporuje pouze 4 typy hodnot parametrů: int, float, bool, string, operace nahrazení proměnné se nepodporuje.
  • Odkazované poznámkové bloky se musí publikovat. Pokud není povolená možnost Odkaz na nepublikovaný poznámkový blok , musíte poznámkové bloky publikovat, abyste na ně odkazovali. Synapse Studio nerozpozná nepublikované poznámkové bloky z úložiště Git.
  • Odkazované poznámkové bloky nepodporují prohlášení, že hloubka je větší než pět.

Průzkumník proměnných

Poznámkový blok Synapse nabízí 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). Další proměnné se zobrazí automaticky, jak jsou definovány v buňkách kódu. Kliknutím na záhlaví jednotlivých sloupců se seřadí 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í buňky, který vám pomůže zobrazit její aktuální průběh. Po dokončení spuštění buňky se zobrazí souhrn spuštění s celkovou dobou trvání a časem ukončení, který se tam uchovává pro budoucí použití.

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 vzdáleně spouští v bezserverovém fondu Apache Sparku. 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 porozumět stavu provádění úlohy. Počet úkolů na každou úlohu nebo fázi vám pomůže identifikovat paralelní úroveň úlohy Sparku. Můžete také přejít hlouběji k uživatelskému 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

V části Konfigurace relace můžete zadat dobu trvání časového limitu, počet a velikost exekutorů, které se mají přidělit aktuální relaci Sparku. Aby se změny konfigurace projevily, restartujte relaci Sparku. Všechny proměnné poznámkového bloku v mezipaměti se vymažou.

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 zadat také pomocí kouzelného příkazu %%configure. Relace Sparku se musí restartovat, aby se nastavení projevilo. Doporučujeme spustit %%configure na začátku poznámkového bloku. Tady je ukázka, na které 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 na stejnou hodnotu v %%configure, takže driverCores a ExecutorCores.
  • V kanálech Synapse můžete použít %%configure, ale pokud není nastavená v první buňce kódu, spuštění kanálu selže kvůli nemožnosti restartovat relaci.
  • Konfigurace %%použitá v souboru mssparkutils.notebook.run se bude ignorovat, ale použije se v poznámkovém bloku %run, bude pokračovat v provádění.
  • V těle "conf" se musí použít standardní vlastnosti konfigurace Sparku. Pro vlastnosti konfigurace Sparku nepodporujeme referenční informace první úrovně.
  • Některé speciální vlastnosti sparku, včetně spark.driver.cores, spark.executor.cores, spark.driver.memory, spark.executor.memory, spark.executor.memory, spark.executor.instances, se v těle "conf" neprojeví.

Konfigurace parametrizované relace z kanálu

Parametrizovaná konfigurace relace umožňuje nahradit hodnotu v %%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 (v následujícím příkladu také konfigurovatelné 4 a 2000) objektem, jako je tento:

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

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

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

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 konfigurací parametrizované relace

Pokud chcete změnit konfiguraci relace, název kanálu: Parametry aktivity poznámkového bloku by měly být stejné jako activityParameterName v poznámkovém bloku. Při spuštění tohoto kanálu se v tomto příkladu driverCores 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 magicu %%configure, můžete zkontrolovat další informace o chybě spuštěním magic cell %%configure 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í souboru CSV z Azure Data Lake Store Gen2 jako datového rámce Sparku

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í souboru CSV z Azure Blob Storage jako datového rámce Sparku


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 Data Explorer klikněte pravým tlačítkem na soubor a vyberte Nový poznámkový blok. Zobrazí se nový poznámkový blok s automaticky vygenerovaným extraktorem dat.

Snímek obrazovky s daty do buňky

Widgety IPython

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

Použití widgetu IPython

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

    import ipywidgets as widgets
    
  2. Funkci nejvyšší úrovně display můžete použít k vykreslení widgetu nebo ponechat 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 a widget se zobrazí ve výstupní oblasti.

    Snímek obrazovky s posuvníkem widgetů ipython

  4. Stejnou instanci widgetu můžete vykreslit display() vícekrát, ale zůstanou vzájemně synchronizovaná.

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

    Snímek obrazovky s posuvníky widgetů ipythonu

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

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

Podporované widgety

Typ widgetů Widgety
Číselné widgety IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText
Logické widgety ToggleButton, Zaškrtávací políčko, Platné
Widgety pro výběr Rozevírací seznam, 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, Ovladač
Widgety kontejneru nebo rozložení Box, HBox, VBox, GridBox, Accordion, Tabulátory, Skládané

Známá omezení

  1. Následující widgety zatím nejsou podporované. Můžete postupovat podle odpovídajícího alternativního řešení, jak je uvedeno níže:

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

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


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

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

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

    Snímek obrazovky s publikováním poznámkového bloku

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

    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

V poznámkových blocích Synapse můžete používat známé příkazy magic Jupyter. Projděte si následující seznam jako aktuální dostupné příkazy magic. Řekněte nám své případy použití na GitHubu , abychom mohli dál vytvářet další magické příkazy, které budou vyhovovat vašim potřebám.

Poznámka

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

Dostupná kouzla čar: %lsmagic, %time, %timeit, %history, %run, %load

Dostupná kouzla buněk: %%timeit, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%html, %%configure


Odkaz na nepublikovaný poznámkový blok

Odkaz na nepublikovaný poznámkový blok je užitečný, když chcete ladit "místně". Při povolení této funkce načte spuštění poznámkového bloku aktuální obsah ve webové mezipaměti. Pokud spustíte buňku včetně příkazu odkazující poznámkové bloky, odkazujete na prezentující poznámkové bloky v aktuálním prohlížeči poznámkových bloků místo uložených verzí v clusteru. To znamená, že na změny v editoru poznámkových bloků můžou okamžitě odkazovat jiné poznámkové bloky, aniž by se musely publikovat (živý režim) nebo potvrdit( Režim Git), díky tomuto přístupu můžete snadno zabránit znečištění běžných knihoven během procesu vývoje nebo ladění.

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

Snímek obrazovky s referenčními informacemi o poznámkovém bloku

Porovnání různých případů najdete v následující tabulce:

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

Obchodní případ Zakázat Povolit
Živý režim
- Nb1 (publikováno)
%run Nb1
Spuštění publikované verze Nb1 Spuštění publikované verze Nb1
- Nb1 (nový)
%run Nb1
Chyba Spuštění nové nb1
- Nb1 (dříve publikováno, upraveno)
%run Nb1
Spuštění publikované verze Nb1 Spuštění upravené verze Nb1
Režim Gitu
- Nb1 (publikováno)
%run Nb1
Spuštění publikované verze Nb1 Spuštění publikované verze Nb1
- Nb1 (nový)
%run Nb1
Chyba Spuštění nové nb1
- Nb1 (nepublikováno, potvrzeno)
%run Nb1
Chyba Spuštění potvrzené nb1
- Nb1 (dříve publikováno, potvrzeno)
%run Nb1
Spuštění publikované verze Nb1 Spuštění potvrzené verze Nb1
- Nb1 (dříve publikováno, nové v aktuální větvi)
%run Nb1
Spuštění publikované verze Nb1 Spuštění nové nb1
- Nb1 (nepublikováno, dříve potvrzeno, upraveno)
%run Nb1
Chyba Spuštění upravené verze Nb1
- Nb1 (dříve publikováno a potvrzeno, editováno)
%run Nb1
Spuštění publikované verze Nb1 Spuštění upravené verze Nb1

Závěr

  • Pokud je tato možnost zakázaná, vždy spusťte publikovanou verzi.
  • Pokud je povoleno, priorita je: edited / new > potvrzeno > publikováno.

Aktivní správa relací

Relace poznámkových bloků teď 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 v aktuálním pracovním prostoru, který jste spustili, můžete zobrazit 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. Odsud můžete odpojit pomocí poznámkového bloku, zastavit relaci a zobrazit v monitorování. Kromě toho můžete vybraný poznámkový blok snadno připojit k aktivní relaci v seznamu zahájené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ímu poznámkovému bloku.

Snímek obrazovky se seznamem relací poznámkového bloku

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

Pomocí ukázkového kódu níže najdete protokoly Pythonu a nastavit různé úrovně a formát protokolu:

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

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 možností Přidat poznámkový blok do kanálu

Určení buňky parametrů

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

Snímek obrazovky s parametrem azure-notebook-toggle-parameter


Azure Data Factory vyhledá buňku parametrů a považuje tuto buňku za výchozí pro parametry předávané v době spuštění. Spouštěcí modul přidá novou buňku pod buňku parametrů se vstupními parametry, aby se přepsaly 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 jupyter notebooky mají poznámkové bloky Synapse modální uživatelské rozhraní. Klávesnice dělá různé věci v závislosti na tom, v jakém režimu je buňka poznámkového bloku. Poznámkové bloky Synapse podporují pro danou buňku kódu následující dva režimy: režim příkazů a režim úprav.

  1. Buňka je v režimu příkazu, když není žádný textový kurzor, který vás vyzve k zadání. Když je buňka v příkazovém režimu, můžete poznámkový blok upravovat jako celek, ale ne psát do jednotlivých buněk. Stisknutím nebo pomocí myši přejděte do režimu ESC příkazu mimo oblast editoru buňky.

    Snímek obrazovky s režimem příkazu

  2. Režim úprav je označen textovým kurzorem s výzvou k zadání do oblasti editoru. Když je buňka v režimu úprav, můžete do buňky psát. Stisknutím nebo pomocí myši přejděte do režimu Enter úprav a vyberte oblast editoru buňky.

    Snímek obrazovky s režimem úprav

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

Akce Zástupci poznámkového bloku Synapse
Spusťte aktuální buňku a vyberte ji níže. Shift+Enter
Spuštění aktuální buňky a vložení pod Alt+Enter
Spuštění aktuální buňky Ctrl+Enter
Výběr buňky nad Nahoru
Vyberte buňku pod Dolů
Výběr předchozí buňky K
Výběr další buňky J
Vložit buňku nad A
Vložit buňku pod B
Odstranit vybrané buňky Shift+D
Přepnutí do režimu úprav Zadejte

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 Zástupci poznámkových bloků 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 po Ctrl + Delete
Přejít na začátek buňky Ctrl + Home
Přechod na konec buňky Ctrl + End
Přejít o jedno slovo doleva CTRL + ŠIPKA VLEVO
Přejít o jedno slovo doprava CTRL +ŠIPKA VPRAVO
Vybrat vše CTRL +A
Odrážka Ctrl +]
Dedent CTRL + [
Přepnutí do příkazového režimu Esc

Další kroky