Sdílet prostřednictvím


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

Poznámkový blok ve službě 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é 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í.
  • Pomáhá zajistit zabezpečení dat pomocí integrovaných podnikových funkcí zabezpečení.
  • Analyzujte data v nezpracovaných formátech (například CSV, TXT a JSON), zpracovaných formátech souborů (například Parquet, Delta Lake a ORC) a tabulkových datových souborů SQL pro Spark 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

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ů. Vyberte nabídku Vývoj. + Vyberte tlačítko a vyberte Poznámkový blok nebo klikněte pravým tlačítkem na Poznámkové bloky a pak vyberte Nový poznámkový blok nebo Importovat. Poznámkové bloky Synapse rozpoznávají standardní soubory IPYNB poznámkového bloku Jupyter.

Snímek obrazovky s výběrem pro vytvoření nebo import 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é můžete spouštět nezávisle nebo jako skupinu.

Následující části popisují operace vývoje poznámkových bloků:

Poznámka:

V poznámkových blocích SparkSession se instance automaticky vytvoří za vás a uloží se do proměnné s názvem spark. Existuje také proměnná pro SparkContext zavolání sc. Uživatelé mají k těmto proměnným přístup přímo, ale 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:

  • Najeďte myší na mezeru mezi dvěma buňkami a vyberte Kód nebo Markdown.

    Snímek obrazovky s tlačítky Kódu a Markdownu v poznámkovém bloku Synapse

  • Používejte klávesové zkratky v režimu příkazů. Výběrem klávesy A vložte buňku nad aktuální buňku. Výběrem 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 Jazyk na horním panelu příkazů.

Snímek obrazovky s rozevíracím seznamem pro výběr jazyka v poznámkovém bloku Synapse

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 proti SparkContext.
%%spark Scala Spusťte dotaz Scala proti SparkContext.
%%sql Spark SQL Spusťte dotaz Spark SQL na SparkContext.
%%csharp .NET pro Spark C# Spusťte dotaz .NET pro Spark C# pro SparkContext.
%%sparkr R Spusťte dotaz R proti SparkContext.

Následující obrázek ukazuje příklad, jak můžete psát dotaz PySpark pomocí %%pyspark příkazu magic nebo dotazu Spark SQL pomocí %%sql příkazu magic v poznámkovém bloku Spark (Scala). Primární jazyk poznámkového bloku je nastavený na PySpark.

Snímek obrazovky s příkazy magic Sparku v poznámkovém bloku Synapse

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 můžete odkazovat na dočasnou tabulku napříč jazyky. Tady je příklad, jak číst datový rámec Scala v PySpark a Spark SQL pomocí dočasné tabulky Spark jako alternativní řešení:

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

Použití technologie 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. Funkce zvýrazňování syntaxe, značky chyb a automatického dokončování kódu pomáhají psát kód a identifikovat problémy rychleji.

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í 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í Skrytí kódu
PySpark (Python) Ano Ano Ano Ano Ano Ano Ano Yes
Spark (Scala) Ano Ano Ano Ano Ano Ano Ne Ano
Spark SQL Ano Ano Ano Ano Ano No No Ne
.NET pro Spark (C#) Ano Ano Ano Ano Ano Ano Ano Yes

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

Použití fragmentů kódu

Poznámkové bloky Synapse poskytují fragmenty kódu, které usnadňují zadávání běžně používaných vzorů kódu. Mezi tyto vzory patří konfigurace relace Sparku, čtení dat jako datového rámce Sparku a kreslení grafů pomocí knihovny Matplotlib.

Fragmenty kódu se zobrazují v klávesových zkratkách technologie IntelliSense ve stylu integrovaného vývojového prostředí (IDE) ve smíšeném s jiný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 libovolných klíčových slov, která se zobrazí v názvu fragmentu kódu v editoru buněk kódu. Zadáním příkazu read 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 v poznámkovém bloku Synapse

Formátování textových buněk pomocí tlačítek panelu nástrojů

Pomocí tlačítek formátu na panelu nástrojů textové buňky můžete provádět běžné akce Markdownu. Mezi tyto akce patří vytváření textu tučně, kurzíva textu, vytváření odstavců a nadpisů prostřednictvím rozevírací nabídky, 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é buňky v poznámkovém bloku Synapse

Vrácení nebo opětovné provedení operace buňky

Pokud chcete odvolat nejnovější operace buněk, vyberte tlačítko Zpět nebo Znovu nebo stiskněte klávesu Z nebo Shift+Z. Nyní můžete vrátit zpět nebo znovu provést až 10 historických operací buněk.

Snímek obrazovky s tlačítky Zpět a Znovu v poznámkovém bloku Synapse

Mezi podporované operace buněk patří:

  • Vložení nebo odstranění buňky Operace odstranění můžete odvolat výběrem možnosti Zpět. Tato akce zachová textový obsah společně s buňkou.
  • Změnit pořadí buněk
  • Zapněte nebo vypněte buňku parametru.
  • Převod mezi buňkou kódu a buňkou Markdownu

Poznámka:

Operace s textem ani komentáře v buňce se nedají vrátit zpět.

Komentář k buňce 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 a podoknem Komentáře v poznámkovém bloku Synapse

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

    Snímek obrazovky s polem pro zadání komentáře do poznámkového bloku Synapse

  3. V případě potřeby můžete provést akce Upravit komentář, Vyřešit vlákno a Odstranit vlákno výběrem dalších tří teček (...) vedle komentáře.

    Snímek obrazovky s dalšími příkazy pro buňku kódu v poznámkovém bloku Synapse

Přesunutí buňky

Pokud chcete buňku přesunout, vyberte levou stranu buňky a přetáhněte ji na požadovanou pozici.

Animovaný obrázek GIF přesunutí buněk v poznámkovém bloku Synapse

Zkopírování buňky

Pokud chcete zkopírovat buňku, nejprve vytvořte novou buňku a pak vyberte veškerý text v původní buňce, zkopírujte text a vložte ho do nové buňky. Pokud je buňka v režimu úprav, tradiční klávesové zkratky pro výběr veškerého textu jsou omezené na buňku.

Tip

Poznámkové bloky Synapse také poskytují snippity běžně používaných vzorů kódu.

Odstranění buňky

Pokud chcete odstranit buňku, vyberte tlačítko Odstranit napravo od buňky.

Můžete také použít klávesové zkratky v režimu příkazů. Pokud chcete aktuální buňku odstranit, vyberte Shift+D.

Snímek obrazovky s tlačítkem pro odstranění buňky v poznámkovém bloku Synapse

Sbalení vstupu buňky

Pokud chcete sbalit vstup aktuální buňky, vyberte tři tečky dalších příkazů (...) na panelu nástrojů buňky a pak vyberte Skrýt vstup. Pokud chcete vstup rozbalit, vyberte Zobrazit vstup , když je buňka sbalená.

Animovaný obrázek GIF sbalování a rozbalení vstupu buněk v poznámkovém bloku Synapse

Sbalení výstupu buňky

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

Animovaný obrázek GIF sbalování a rozbalení výstupu buňky v poznámkovém bloku Synapse

Použití osnovy poznámkového bloku

Osnova (obsah) představuje první záhlaví Markdownu libovolné buňky Markdownu v okně bočního panelu pro rychlou navigaci. Boční panel osnovy se dá přizpůsobit a sbalit tak, aby se na obrazovku vešel co nejlépe. Boční panel otevřete nebo skryjete tak, že na panelu příkazů poznámkového bloku vyberete tlačítko Osnova .

Snímek obrazovky s bočním panelem osnovy v poznámkovém bloku Synapse

Spuštění poznámkového bloku

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 zobrazí v poznámkovém bloku.

Poznámka:

Odstranění poznámkového bloku automaticky nezruší žádné úlohy, které jsou aktuálně spuštěné. Pokud potřebujete zrušit úlohu, přejděte do centra monitorování a zrušte ji ručně.

Spuštění buňky

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

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

    Snímek obrazovky s příkazem pro spuštění buňky v poznámkovém bloku Synapse

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

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

Pokud chcete spustit všechny buňky v aktuálním poznámkovém bloku v posloupnosti, vyberte tlačítko Spustit vše .

Snímek obrazovky s tlačítkem pro spuštění všech buněk v poznámkovém bloku Synapse

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

Pokud chcete spustit všechny buňky nad aktuální buňkou v posloupnosti, rozbalte rozevírací seznam tlačítka Spustit vše a pak vyberte Spustit buňky nad. 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 s příkazy pro spouštění buněk nad a pod aktuální buňkou v poznámkovém bloku Synapse

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

Pokud chcete zrušit spuštěné buňky nebo buňky čekající ve frontě, vyberte tlačítko Zrušit vše .

Snímek obrazovky s tlačítkem pro zrušení všech spuštěných nebo čekajících buněk v poznámkovém bloku Synapse

Odkaz na poznámkový blok

Pokud chcete odkazovat na jiný poznámkový blok v kontextu aktuálního poznámkového bloku, použijte %run <notebook path> příkaz magic. Všechny proměnné definované v referenčním poznámkovém bloku jsou dostupné v aktuálním poznámkovém bloku.

Tady je příklad:

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

Odkaz na poznámkový blok funguje v interaktivním režimu i v kanálech.

Příkaz %run magic má tato omezení:

  • Příkaz podporuje vnořené volání, ale ne rekurzivní volání.
  • Příkaz podporuje předání absolutní cesty nebo názvu poznámkového bloku pouze jako parametr. Nepodporuje relativní cesty.
  • Příkaz aktuálně podporuje pouze čtyři typy hodnot parametrů: int, float, boola string. Nepodporuje operace nahrazení proměnných.
  • Odkazované poznámkové bloky musí být publikované. Pokud nevyberete možnost povolení nepublikovaného odkazu na poznámkové bloky, musíte je publikovat, abyste na ně odkazovali. Synapse Studio nerozpozná nepublikované poznámkové bloky z úložiště Git.
  • Odkazované poznámkové bloky nepodporují hloubky příkazů větší než pět.

Použití Průzkumníka proměnných

Poznámkový blok Synapse poskytuje integrovaný průzkumník proměnných ve formě tabulky, která uvádí proměnné v aktuální relaci Sparku pro buňky PySpark (Python). Tabulka obsahuje sloupce pro název proměnné, typ, délku a hodnotu. Při definování v buňkách kódu se automaticky zobrazí více proměnných. Výběr záhlaví jednotlivých sloupců seřadí proměnné v tabulce.

Průzkumníka proměnných otevřete nebo skryjete tak, že na panelu příkazů poznámkového bloku vyberete tlačítko Proměnné .

Snímek obrazovky s průzkumníkem proměnných v poznámkovém bloku Synapse

Poznámka:

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

Použití indikátoru stavu buňky

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

Snímek obrazovky se souhrnem spuštění buňky v poznámkovém bloku Synapse

Použití indikátoru průběhu Sparku

Poznámkový blok Synapse je čistě založený na Sparku. Buňky kódu běží na bezserverovém fondu Apache Spark vzdáleně. Indikátor průběhu úlohy Sparku s indikátorem průběhu v reálném čase vám pomůže pochopit stav spuštění úlohy.

Počet úkolů pro každou úlohu nebo fázi vám pomůže identifikovat paralelní úroveň úlohy Sparku. Pokud chcete přejít k podrobnostem v uživatelském rozhraní Sparku konkrétní úlohy (nebo dílčí fáze), vyberte odkaz na název úlohy (nebo fáze).

Snímek obrazovky s indikátorem průběhu Sparku v poznámkovém bloku Synapse

Konfigurace relace Sparku

V podokně Konfigurovat relaci, které najdete výběrem ikony ozubeného kola v horní části poznámkového bloku, můžete určit dobu časového limitu, počet exekutorů a velikost exekutorů, které se mají předat aktuální relaci Sparku. Restartujte relaci Sparku, aby se projevily 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 s podoknem pro konfiguraci relace v poznámkovém bloku Synapse

Příkaz Magic pro konfiguraci relace Sparku

Nastavení relace Sparku můžete také zadat pomocí příkazu %%configuremagic . Aby se nastavení projevilo, restartujte relaci Sparku.

Doporučujeme spustit %%configure na začátku poznámkového bloku. Tady je ukázka. Úplný seznam platných parametrů najdete v informacích o Livy na GitHubu.

%%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" 
    }
}

Tady je několik důležitých %%configure aspektů příkazu magic:

  • Doporučujeme použít stejnou hodnotu pro driverMemory a executorMemory v %%configure. Doporučujeme také, aby driverCores měla executorCores stejnou hodnotu.
  • V kanálech Synapse můžete použít %%configure , ale pokud ho nenastavíte v první buňce kódu, spuštění kanálu selže, protože relaci nejde restartovat.
  • Příkaz %%configure použitý v mssparkutils.notebook.run se ignoruje, ale příkaz použitý v %run <notebook> pokračování se spustí.
  • V těle musíte použít standardní vlastnosti konfigurace Sparku "conf" . Pro vlastnosti konfigurace Sparku nepodporujeme odkazy na první úroveň.
  • Některé speciální vlastnosti Sparku se neprojeví v "conf" těle, včetně "spark.driver.cores", "spark.executor.cores", "spark.driver.memory", "spark.executor.memory"a "spark.executor.instances".

Parametrizovaná konfigurace relace z kanálu

Pomocí parametrizované konfigurace relace můžete nahradit hodnoty v %%configure příkazu magic parametry spuštění kanálu (aktivita poznámkového bloku). Při přípravě %%configure buňky kódu můžete výchozí hodnoty přepsat pomocí objektu, jako je tento:

{
      "activityParameterName": "parameterNameInPipelineNotebookActivity",
      "defaultValue": "defaultValueIfNoParameterFromPipelineNotebookActivity"
} 

Následující příklad ukazuje výchozí hodnoty 4 a "2000", které jsou také konfigurovatelné:

%%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 spouštíte přímo v interaktivním režimu nebo pokud aktivita poznámkového bloku kanálu neposkytuje parametr, který odpovídá "activityParameterName".

Během režimu spuštění kanálu můžete pomocí karty Nastavení nakonfigurovat nastavení pro aktivitu poznámkového bloku kanálu.

Snímek obrazovky s parametrizovanou konfigurací relace v poznámkovém bloku Synapse

Pokud chcete změnit konfiguraci relace, název parametru aktivity poznámkového bloku kanálu by měl být stejný jako activityParameterName v poznámkovém bloku. V tomto příkladu se během spuštění 8 kanálu nahradí driverCores a %%configure4000 nahradí livy.rsc.sql.num-rows.

Pokud se spuštění kanálu po použití %%configure příkazu magic nezdaří, můžete získat další informace o chybách spuštěním %%configure buňky magic v interaktivním režimu poznámkového bloku.

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

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

Čtení souboru CSV z Azure Data Lake Storage 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í souboru CSV 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 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)

Č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 znázorňující otevření nové tabulky Spark pro přístup k datům souborů ve službě Azure Synapse Analytics

Použití widgetů IPython

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

Postup použití widgetů IPython

  1. Importujte ipywidgets modul pro použití architektury Jupyter Widgets:

    import ipywidgets as widgets
    
  2. Pomocí funkce nejvyšší úrovně display můžete vykreslit widget nebo nechat výraz typu widget 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 widgetu IPython v poznámkovém bloku Synapse

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 několika posuvníky widgetu IPython v poznámkovém bloku Synapse

Pokud chcete vykreslit dva widgety, které jsou navzájem nezávislé, vytvořte dvě instance widgetu:

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

Podporované widgety

Typ widgetu Pomůcky
Číslo IntSlider, FloatSlider, , FloatLogSlider, FloatRangeSliderBoundedFloatTextIntRangeSliderIntProgressFloatProgressBoundedIntText, IntTextFloatText
Logická hodnota ToggleButton, , CheckboxValid
Výběr Dropdown, RadioButtons, Select, SelectionSlider, SelectionRangeSlider, , ToggleButtonsSelectMultiple
String Text, Text area, , PasswordHTMLHTML MathComboboxLabel, , ImageButton
Přehrát (animace) Date picker, , Color pickerController
Kontejner nebo rozložení Box, HBox, VBox, GridBox, Accordion, , TabsStacked

Známá omezení

  • Následující tabulka uvádí widgety, které nejsou aktuálně podporované, spolu s alternativními řešeními:

    Funkce Alternativní řešení
    Output věcička Místo toho můžete funkci použít k zápisu print() textu do stdout.
    widgets.jslink() Pomocí funkce můžete widgets.link() propojit dva podobné widgety.
    FileUpload věcička Žádný k dispozici.
  • Globální display funkce, kterou Azure Synapse Analytics poskytuje, nepodporuje zobrazování více widgetů v jednom volání (tj display(a, b). ). Toto chování se liší od funkce IPython display .

  • Pokud zavřete poznámkový blok, který obsahuje widget IPython, nemůžete widget zobrazit ani s ním 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:

  • 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 tlačítkem pro publikování změn v poznámkovém bloku Synapse

  • 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 tlačítkem pro publikování změn ve všech poznámkových blocích v pracovním prostoru Synapse

V podokně Vlastnosti 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 Synapse a zaškrtávacím políčkam pro zahrnutí výstupu buňky při ukládání

Použití příkazů magic

Známé příkazy magic Jupyter můžete použít v poznámkových blocích Synapse. Projděte si následující seznamy aktuálně dostupných příkazů 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:

V kanálech Synapse jsou podporovány pouze následující příkazy magic: %%pyspark, %%spark, %%csharp, %%sql.

Dostupné příkazy magic pro řádky:

%lsmagic, %time, %timeit, %history, , %run%load

Dostupné příkazy magic pro buňky:

%%time, %%timeit, , %%capture, %%sql%%writefile, %%pyspark%%spark%%csharp, , %%html%%configure

Odkaz na nepublikovaný poznámkový blok

Odkazování na nepublikovaný poznámkový blok je užitečné, když chcete ladit místně. Když tuto funkci povolíte, spustí se v poznámkovém bloku načtení aktuálního obsahu ve webové mezipaměti. Pokud spustíte buňku, která obsahuje příkaz referenčního poznámkového bloku, budete odkazovat na prezentující poznámkové bloky v aktuálním prohlížeči poznámkového bloku místo uložené verze v clusteru. Ostatní poznámkové bloky můžou odkazovat na změny v editoru poznámkových bloků, aniž byste museli změny publikovat (dynamický režim) nebo potvrdit (režim Git). Pomocí tohoto přístupu můžete zabránit znečištění běžných knihoven během vývoje nebo ladění procesu.

Odkazování na nepublikovaný poznámkový blok můžete povolit zaškrtnutím příslušného políčka v podokně Vlastnosti .

Snímek obrazovky se zaškrtávacím políčkam pro povolení odkazování na nepublikovaný poznámkový blok Synapse

Následující tabulka porovnává případy. I když %run a mssparkutils.notebook.run mají stejné chování, tabulka se používá %run jako příklad.

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 (není publikováno, 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

Souhrnně:

  • Pokud zakážete odkazování na nepublikovaný poznámkový blok, vždy spusťte publikovanou verzi.
  • Pokud povolíte odkazování na nepublikovaný poznámkový blok, spustí se vždy aktuální verze poznámkového bloku, která se zobrazí v uživatelském prostředí poznámkového bloku.

Správa aktivních relací

Relace poznámkového bloku můžete opakovaně používat, aniž byste museli spouštět nové relace. V poznámkových blocích Synapse můžete aktivní relace spravovat v jednom seznamu. Seznam otevřete tak, že vyberete tři tečky (...) a pak vyberete Spravovat relace.

Snímek obrazovky s výběrem pro otevření seznamu aktivních relací poznámkového bloku Synapse

Podokno Aktivní relace obsahuje seznam všech relací v aktuálním pracovním prostoru, který jste začali z poznámkového bloku. V seznamu se zobrazí informace o relaci a odpovídající poznámkové bloky. Tady jsou k dispozici akce Odpojit s poznámkovým blokem, Zastavit relaci a Zobrazit v akcích monitorování . Můžete také připojit vybraný poznámkový blok k aktivní relaci, která začala z jiného poznámkového bloku. Relace se pak odpojí od předchozího poznámkového bloku (pokud není nečinná) a připojí se k aktuálnímu poznámkovému bloku.

Snímek obrazovky s podoknem aktivních relací v pracovním prostoru Synapse

Použití protokolů Pythonu v poznámkovém bloku

Protokoly Pythonu a nastavení různých úrovní protokolů a formátů můžete najít pomocí následujícího ukázkového kódu:

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

Zobrazení historie vstupních příkazů

Poznámkové bloky Synapse podporují příkaz %history magic k tisku historie vstupních příkazů pro aktuální relaci. Příkaz %history magic je podobný standardnímu příkazu IPyter IPython a funguje pro více kontextů jazyka v poznámkovém bloku.

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

V předchozím kódu -n je číslo spuštění tisku. Hodnota range může být:

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

Chcete-li například vytisknout historii vstupu z první do druhé spuštěné buňky, použijte %history -n 1-2.

Integrace poznámkového bloku

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

Pokud chcete přidat poznámkový blok do existujícího kanálu nebo vytvořit nový kanál, vyberte tlačítko Přidat do kanálu v pravém horním rohu.

Snímek obrazovky s možnostmi nabídky pro přidání poznámkového bloku do existujícího nebo nového kanálu Synapse

Určení buňky parametru

Pokud chcete parametrizovat poznámkový blok, 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 parametru.

Snímek obrazovky s možností nabídky pro určení buňky jako buňky parametru

Azure Data Factory vyhledá buňku parametru a považuje tuto buňku za výchozí pro parametry předávané v době provádění. Prováděcí modul přidá novou buňku pod buňku parametru se vstupními parametry pro přepsání výchozích hodnot.

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

Po vytvoření poznámkového bloku s parametry ho můžete spustit z kanálu pomocí aktivity poznámkového bloku Synapse. Po přidání aktivity na plátno kanálu můžete nastavit hodnoty parametrů v části Základní parametry na kartě Nastavení .

Snímek obrazovky s oblastí pro přiřazování parametrů ve službě Azure Synapse Analytics

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

Použití klávesových zkratek

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 buňky kódu:

  • Režim příkazu: Buňka je v režimu příkazu, pokud se nezobrazí výzva k zadání kurzoru textu. Pokud je buňka v režimu příkazů, můžete poznámkový blok upravit jako celek, ale nezadávat je do jednotlivých buněk. Stisknutím klávesy Esc nebo pomocí myši vyberte mimo oblast editoru buňky režim příkazu.

    Snímek obrazovky s režimem příkazu v poznámkovém bloku Synapse

  • Režim úprav: Když je buňka v režimu úprav, zobrazí kurzor textu výzvu k zadání buňky. Stisknutím klávesy Enter nebo pomocí myši vyberte oblast editoru buňky.

    Snímek obrazovky s režimem úprav v poznámkovém bloku Synapse

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

Akce Zástupce 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

Akce Zástupce 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+šipka vpravo
Vybrat vše CTRL+A
Odsazení CTRL+]
Dedent CTRL+[
Přepnout do režimu příkazů Esc