Sdílet prostřednictvím


Vývoj, spouštění a správa poznámkových bloků Microsoft Fabric

Poznámkový blok Microsoft Fabric je primární položkou kódu pro vývoj úloh Apache Sparku a experimentů strojového učení. Jedná se o webovou interaktivní plochu, kterou používají datoví vědci a datoví inženýři k psaní kódu, který využívá bohaté vizualizace a text Markdownu. Tento článek vysvětluje, jak vyvíjet poznámkové bloky s operacemi v buňkách kódu a jak tyto bloky spouštět.

Vyvíjejte poznámkové bloky

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é možnosti pro vývoj poznámkových bloků:

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.

  2. Používejte klávesové zkratky v příkazovém režimu. 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 Fabric v současné době podporují čtyři jazyky Apache Spark:

  • PySpark (Python)
  • Spark (Scala)
  • Spark SQL
  • SparkR

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

Použití více jazyků

V poznámkovém bloku můžete použít více jazyků tak, že na začátku buňky zadáte magický příkaz jazyka. Jazyk buňky můžete také přepnout ve výběru jazyka. Následující tabulka uvádí magické příkazy pro změnu jazyků buněk.

Snímek obrazovky znázorňující příklad příkazu

Kouzelný příkaz Jazyk Popis
%%pyspark Python Spusťte dotaz v Pythonu proti kontextu Apache Spark.
%%spark Scala Spusťte dotaz Scala na kontext Apache Sparku.
%%sql SparkSQL Spusťte dotaz SparkSQL na kontext Apache Sparku.
%%html HTML Proveďte dotaz HTML na kontext Apache Spark.
%%sparkr R Spusťte dotaz R v kontextu Apache Sparku.

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

Poznámkové bloky Fabric jsou integrovány s editorem Monaco, aby editor buněk nabídl IntelliSense podobné tomu v IDE. Zvýrazňování syntaxe, značka chyb a automatické dokončování kódu vám pomůžou rychle psát kód a identifikovat problémy.

Funkce IntelliSense jsou na různých úrovních vyspělosti pro různé jazyky. Následující tabulka ukazuje, co Fabric podporuje:

Jazyky Zvýraznění syntaxe Značka chyby syntaxe Dokončování kódu syntaxe Dokončování proměnného kódu Dokončování kódu systémové funkce Dokončování kódu funkce uživatele Inteligentní odsazení Sbalení kódu
PySpark (Python) Ano Ano Ano Ano Ano Ano Ano Ano
Python Ano Ano Ano Ano Ano Ano Ano Ano
Spark (Scala) Ano Ano Ano Ano Ano Ano Ano Ano
SparkSQL Ano Ano Ano Ano Ano Ne Ano Ano
SparkR Ano Ano Ano Ano Ano Ano Ano Ano
T-SQL Ano Ano Ano Ne Ano Ano Ano Ano

Poznámka:

Musíte mít aktivní relaci Apache Spark, abyste mohli používat automatické doplňování kódu IntelliSense.

Vylepšení vývoje v Pythonu pomocí Pylance

Pylance, výkonný jazykový server s bohatou funkcionalitou, je nyní k dispozici v poznámkovém bloku Fabric. Pylance usnadňuje vývoj v Pythonu díky inteligentním dokončováním, lepší detekci chyb a lepším přehledům kódu. Mezi klíčová vylepšení patří inteligentní automatické dokončování, vylepšená podpora lambda, návrhy parametrů, vylepšené informace o najetí myší, lepší vykreslování docstringu a zvýraznění chyb. Díky Pylance se psaní kódu Pythonu a PySparku stává rychlejší, přesnější a efektivnější.

Fragmenty kódu

Fabric notebooky poskytují úryvky kódu, které vám pomohou snadno vytvářet běžně používané vzory kódu, například:

  • Čtení dat jako Apache Spark DataFrame
  • Kreslení grafů pomocí knihovny Matplotlib

Fragmenty kódu se zobrazují v klávesových zkratkách IntelliSense ve stylu IDE, smíšené s dalšími návrhy. Obsah fragmentu kódu odpovídá jazyku buňky kódu. Dostupné fragmenty kódu můžete zobrazit zadáním fragmentu kódu. Můžete také zadat libovolné klíčové slovo a zobrazit seznam relevantních fragmentů kódu. Pokud například zadáte čtení, zobrazí se seznam fragmentů kódu pro čtení dat z různých zdrojů dat.

Animovaný obrázek GIF fragmentů kódu

Přetažením vložíte fragmenty kódu.

Pomocí přetažení můžete pohodlně číst data z Průzkumníka Lakehouse. Zde je podporováno více typů souborů; Můžete pracovat s textovými soubory, tabulkami, obrázky atd. Můžete buď přetáhnout na existující buňku, nebo na novou buňku. Notebook vygeneruje úryvek kódu tak, aby bylo možné zobrazit data.

Animovaný obrázek GIF přetažení pro vložení fragmentů kódu

Přetažením vložíte obrázky.

Přetažením můžete snadno vkládat obrázky z prohlížeče nebo místního počítače do buňky markdownu.

Animovaný obrázek VE FORMÁTU GIF pro vložení obrázků přetažením

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

K dokončení běžných akcí markdownu použijte tlačítka formátu na panelu nástrojů textové buňky.

Snímek obrazovky s panelem nástrojů pro formátování textu

Vrátit zpět nebo provést znovu operace s buňkami

Vyberte Zpět nebo Znovu, nebo stisknutím kláves Z nebo Shift+Z zrušíte poslední provedené operace na buňkách. Můžete vrátit zpět nebo zopakovat až 10 posledních provedených operací buněk.

Snímek obrazovky s možnostmi nabídky Zpět a Opakovat

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

  • Vložte nebo odstraňte buňku. Odstraněné operace můžete odvolat tak, že vyberete Vrátit zpět (textový obsah 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:

Operace s textem v buňce a operace komentování buněk s kódem se nedají vrátit zpět. Můžete vrátit zpět nebo zopakovat až 10 posledních provedených operací buněk.

Přesunutí buňky

Můžete táhnout z prázdné části buňky a upustit ji na požadovanou pozici.

Vybranou buňku můžete také přesunout pomocí Přesunout nahoru a Přesunout dolů na pásu karet.

Snímek obrazovky znázorňující možnosti pro přesunutí buňky

Odstranění buňky

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

Můžete také použít klávesové zkratky v režimu příkazů. Stisknutím klávesY D,D (dvakrát) odstraníte aktuální buňku.

Sbalit vstup buňky

Zvolte tři tečky (...) na panelu nástrojů buňky a vyberte Další příkazy, poté Skryjte vstup pro sbalení vstupu aktuální buňky. Pokud chcete buňku znovu rozbalit, vyberte Zobrazit vstup, když je sbalena.

Sbalit výstup buňky

Vyberte tři tečky (...) Další příkazy na panelu nástrojů buňky a skryjte výstup, čímž sbalíte výstup aktuální buňky. Chcete-li jej znovu rozbalit, vyberte Zobrazit výstup, když je výstup buňky sbalený.

Zabezpečení výstupu buňky

Role přístupu k datům OneLake (Preview) můžete použít ke konfiguraci přístupu pouze ke konkrétním složkám v lakehouse během dotazování v poznámkových blocích. Uživatelům bez přístupu ke složce nebo tabulce se během provádění dotazu zobrazí neautorizovaná chyba.

Důležité

Zabezpečení platí jenom při provádění dotazu. Buňky poznámkového bloku, které obsahují výsledky dotazu, můžou zobrazit uživatelé, kteří nemají oprávnění spouštět dotazy na data přímo.

Uzamknout nebo ukotvit buňku

Operace zamknutí a zmrazení buněk vám umožňují nastavit buňky jako pouze pro čtení nebo zabránit spuštění buněk s kódem na individuální úrovni.

Animovaný obrázek GIF zámku nebo ukotvení buňky

Sloučení a rozdělení buněk

Pomocí funkce Sloučit s předchozí buňkou nebo sloučit s další buňkou můžete pohodlně sloučit související buňky.

Pokud vyberete Rozdělit buňku, pomůže vám to rozdělit irelevantní výroky do více buněk. Operace rozdělí kód podle pozice řádku kurzoru.

Snímek obrazovky znázorňující položku sloučení rozdělených buněk

Obsah poznámkového bloku

Výběr Osnov nebo Obsahu zobrazuje první nadpis markdownu jakékoli markdown buňky v postranním panelu pro rychlou navigaci. Boční panel s osnovami je přizpůsobitelný a sbalitelný, aby se na obrazovku vešel co nejlépe. Výběrem tlačítka Obsah na panelu příkazů poznámkového bloku otevřete nebo skryjte boční panel.

Snímek obrazovky znázorňující, kde vybrat možnost Obsah

Skládání Markdownu

Možnost posouvání markdownu umožňuje skrýt buňky pod buňkou markdownu, která obsahuje nadpis. Buňka markdownu a její skryté buňky jsou při provádění operací s buňkami považovány stejně jako sada souvisle více vybraných buněk.

Animovaný GIF skládání markdownu

Vyhledání a nahrazení

Možnost najít a nahradit vám může pomoci vyhledat a lokalizovat klíčová slova nebo výrazy v obsahu poznámkového bloku. Cílový řetězec můžete také snadno nahradit novým řetězcem.

Snímek obrazovky zobrazující podokno Najít a nahradit.

Copilot - automatické dokončování kódu (náhled)

Dokončování vloženého kódu Copilot je funkce využívající AI, která vám pomůže rychleji a efektivněji psát kód Pythonu v poznámkových blocích Fabric. Tato funkce poskytuje inteligentní návrhy kódu s podporou kontextu při psaní kódu. Snižuje opakující se úlohy, minimalizuje chyby syntaxe a urychluje vývoj díky bezproblémové integraci do pracovního postupu poznámkového bloku.

Klíčové výhody

  • Dokončování řízené AI: Generuje návrhy na základě kontextu poznámkového bloku pomocí modelu natrénovaného na milionech řádků kódu.
  • Zvyšuje produktivitu: Pomáhá psát složité funkce, snižuje opakované kódování a urychluje zkoumání neznámých knihoven.
  • Snižuje chyby: Minimalizuje překlepy a chyby syntaxe pomocí inteligentních dokončování s podporou kontextu.
  • Minimální nastavení: Integrované do poznámkových bloků Fabric a nevyžaduje žádnou instalaci. Stačí ho povolit a začít psát kód.

Jak to funguje

Pomocí přepínače v dolní části poznámkového bloku povolte návrhy pro vložený kód.

Snímek obrazovky znázorňující povolení dokončování kódu Copilot

Při psaní se návrhy zobrazují ve světle šedém textu a stisknutím klávesy Tab ji přijměte nebo upravte. Návrhy jsou založené na předchozích buňkách poznámkového bloku.

Snímek obrazovky zobrazující automatický návrh kódu a jeho dokončení pomocí nástroje Copilot

Poznámka:

Povolení doplňování vloženého kódu Copilotu spotřebovává více jednotek kapacity.

Aktuální omezení

  • Doplňování vloženého kódu Copilot aktuálně podporuje jazyk Python a využívá kontext z předchozích buněk a schémat Lakehouse.
  • Návrhy zvažují data ze schémat Lakehouse.
  • Pokud existuje mnoho tabulek nebo sloupců, používá se pouze podmnožina prvků schématu.
  • Dynamicky vytvořené tabulky (prostřednictvím Sparku) se v reálném čase nerozpoznají.

Spustit poznámkové bloky

Buňky kódu můžete v poznámkovém bloku spouštět jednotlivě nebo najednou. Stav a průběh každé buňky se zobrazí v poznámkovém bloku.

Spusťte buňku

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

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

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

Spustit všechny buňky

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

Spustit všechny buňky nad nebo pod

Rozbalte rozevírací seznam z Spustit vše, poté vyberte Spustit buňky nad a spusťte všechny buňky nad aktuální buňkou postupně. Výběrem Spustit buňky níže spustíte aktuální buňku a všechny buňky pod ní postupně.

Snímek obrazovky se všemi možnostmi nabídky

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

Vyberte Zrušit vše, chcete-li zrušit běžící buňky nebo buňky čekající ve frontě.

Ukončit relaci

Zastavit relaci zruší spuštěné a čekající buňky a ukončí aktuální relaci. Úplně novou relaci můžete restartovat tak, že znovu vyberete možnost „Spustit“.

Snímek obrazovky znázorňující, kde vybrat Zrušit všechna spuštění a zastavit relaci

Referenční běh

Referenční spuštění notebooku

Kromě použití rozhraní API notebookutils reference run můžete také použít %run <notebook name> příkaz magic pro 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. Příkaz %run 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 Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }.

Referenční příručka pro notebook funguje v interaktivním režimu i ve zpracovatelském řetězci.

Poznámka:

  • Příkaz %run aktuálně podporuje pouze referenční poznámkové bloky ve stejném pracovním prostoru s aktuálním poznámkovým blokem.
  • Příkaz %run aktuálně podporuje pouze čtyři typy hodnot parametrů: int, float, boola string. Operace nahrazení proměnných není podporovaná.
  • Příkaz %run nepodporuje vnořené odkazy s hloubkou větší než pět.

Spustit referenční skript

Příkaz %run také umožňuje spouštět soubory Pythonu nebo SQL uložené v předdefinovaných prostředcích poznámkového bloku, takže můžete soubory zdrojového kódu spouštět v poznámkovém bloku pohodlně.

%run [-b/--builtin -c/--current] [script_file.py/.sql] [variables ...]

Možnosti:

  • -b/--builtin: Tato možnost označuje, že příkaz najde a spustí zadaný soubor skriptu z vestavěných prostředků poznámkového bloku.
  • -c/--current: Tato možnost zajišťuje, aby příkaz vždy používal předdefinované prostředky aktuálního poznámkového bloku, i když na aktuální poznámkový blok odkazuje jiné poznámkové bloky.

Příklady:

  • Spusťte script_file.py z předdefinovaných prostředků:%run -b script_file.py

  • Spuštění script_file.sql z předdefinovaných prostředků:%run -b script_file.sql

  • Chcete-li spustit script_file.py z vestavěných zdrojů s konkrétními proměnnými:%run -b script_file.py { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }

Poznámka:

Pokud příkaz neobsahuje -b/--builtin, pokusí se najít a spustit položku notebooku ve stejném pracovním prostoru místo vestavěných prostředků.

Příklad použití v rámci vnořeného spuštění:

  • Předpokládejme, že máme dva poznámkové bloky.
    • Notebook1: Obsahuje script_file1.py ve vestavěných prostředcích
    • Notebook2: Obsahuje script_file2.py ve svých vestavěných zdrojích
  • Pojďme používat Notebook1 jako kořenový poznámkový blok s obsahem: %run Notebook2.
  • V Notebook2 je instrukce použití:
    • Pokud chcete spustit script_file1.py v Notebook1(kořenový poznámkový blok), kód by byl: %run -b script_file1.py
    • Pokud chcete spustit script_file2.py v poznámkovém bloku 2(aktuálním poznámkovém bloku), bude kód: %run -b -c script_file2.py

Průzkumník proměnných

Poznámkové bloky Fabric nabízejí integrovaného průzkumníka proměnných, který zobrazuje 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í další proměnné. Kliknutím na záhlaví každého sloupce seřadíte proměnné v tabulce.

Otevřete nebo skryjte průzkumníka proměnných tak, že na pásu karet poznámkového bloku vyberete Proměnné v Zobrazení.

Snímek obrazovky znázorňující, kde se mají otevírat proměnné

Poznámka:

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

Indikátor stavu buňky

Pod buňkou se zobrazuje podrobný stav provádění buňky, který vám pomůže vidět její 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 je tam uložen pro budoucí použití.

Snímek obrazovky znázorňující příklad podrobností o stavu běhu buňky

Indikátor stavu relace

Konfigurace časového limitu relace

V levém dolním rohu můžete vybrat stav relace a získat další informace o aktuální relaci:

Snímek obrazovky znázorňující informace o relaci.

V automaticky otevíraných oknech můžete časový limit resetovat na x minut nebo hodin.

Snímek obrazovky znázorňující časový limit relace

Vyberte si, jak dlouho chcete relaci nepřerušovat, a stiskněte tlačítko Použít. Doba vypršení platnosti relace se resetuje na novou hodnotu a můžete začít!

Můžete také nastavit časový limit, jak je popsáno:

Zůstat přihlášeni: Pokud se při přihlášení zobrazí dialogové okno Zůstat přihlášené , vyberte Ano a deaktivujte časový limit relace nečinnosti pro aktuální relaci.

Důležité

Nezaškrtávejte políčko Nezobrazovat znovu , protože toto políčko se trvale zamkne v nastavení přihlášení. Tato možnost se nemusí zobrazit, pokud správce tenanta zakázal nastavení Zůstat přihlášeni (KMSI).

Žádost o změnu zásad: Pokud potřebujete delší dobu trvání relace, požádejte správce tenanta, aby zásadu doby trvání časového limitu nečinné relace prodloužil. Můžou to udělat tak, že v Centru pro správu Microsoftu 365 přejdou do časového limitu relace nečinnosti nastavení organizace > a ochrany osobních údajů > .

Poznámka:

Výběrem kmSI nebo prodloužením doby trvání časového limitu nečinné relace se zvyšuje riziko přístupu k odemknutému počítači.

Jak ABT a nečinný časový limit relace ovlivňují dlouhotrvající spuštění poznámkového bloku Fabric?

Pokud váš tenant používá časový limit založený na aktivitách (ABT), můžou mít zásady časového limitu nečinnosti relace Microsoftu 365 vliv na dlouhotrvající interaktivní úlohy v poznámkových blocích Fabric. Tato funkce zabezpečení je navržená tak, aby odhlasovala uživatele na neaktivních nespravovaných zařízeních, i když je úloha poznámkového bloku stále spuštěná. I když aktivity v jiných aplikacích Microsoftu 365 můžou udržovat relaci naživu, nečinná zařízení se odhlašují podle návrhu.

Proč se uživatelé odhlásili i v případě, že je úloha poznámkového bloku stále spuštěná?

Časový limit nečinné relace určuje prioritu zabezpečení ukončením relací na neaktivních zařízeních, aby se zabránilo neoprávněnému přístupu. I když probíhá provádění poznámkového bloku, relace skončí, pokud zařízení neuvádí žádnou aktivitu. Udržování relací otevřených na nečinných zařízeních by ohrozilo zabezpečení, proto je aktuální chování vynucováno.

Řádkový ukazatel úlohy Apache Spark

Notebooky Fabric jsou založené na Apache Sparku. Buňky kódu se spouští na vzdáleném clusteru Apache Spark. Ukazatel postupu úlohy Spark je doplněn posuvníkem v reálném čase, který vám pomůže porozumět stavu 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).

Protokol na úrovni buňky v reálném čase najdete také vedle indikátoru průběhu a Diagnostika vám může poskytnout užitečné návrhy, které vám pomůžou kód upřesnit a ladit.

Snímek obrazovky s podrobnostmi o průběhu úloh Sparku

V části Další akce můžete snadno přejít na stránku podrobností aplikace Spark a na stránku webového uživatelského rozhraní Sparku.

Snímek obrazovky s podrobnostmi o dalších akcích

Utajovaná redakce

Aby se zabránilo náhodnému úniku přihlašovacích údajů při spouštění poznámkových bloků, podporují poznámkové bloky Fabric utajení, aby nahradily tajné hodnoty zobrazené ve výstupu buněk [REDACTED]. Pro programovací jazyky Python, Scala a R platí utajení.

Snímek obrazovky s redakcí tajného obsahu

Magické příkazy v poznámkovém bloku

Předdefinované magické příkazy

V aplikaci Fabric můžete používat známé magické příkazy Ipythonu v poznámkových blocích. Projděte si následující seznam aktuálně dostupných příkazů magic.

Poznámka:

Toto jsou jediné příkazy magic podporované v kanálu Fabric: %%pyspark, %%spark, %%csharp, %%sql, %%configure.

Dostupné line magic příkazy: %lsmagic, %time, %timeit, %history, %run, %load, %alias, %alias_magic, %autoawait, %autocall, %automagic, %bookmark, %cd, %colors, %dhist, %dirs, %doctest_mode, %killbgscripts, %load_ext, %logoff, %logon, %logstart, %logstate, %logstop, %magic, %matplotlib, %page, %pastebin, %pdef, %pfile, %pinfo, %pinfo2, %popd, %pprint, %precision, %prun, %psearch, %psource, %pushd, %pwd, %pycat, %quickref, %rehashx, %reload_ext, %reset, %reset_selective, %sx, %system, %tb, %unalias, %unload_ext, %who, %who_ls, %whos, %xdel, %xmode.

Poznámkový blok Fabric také podporuje vylepšené příkazy pro správu knihoven %pip a %conda. Další informace o využití najdete v tématu Správa knihoven Apache Spark v Microsoft Fabric.

Dostupné příkazy magických buněk: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%configure, %%html, %%bash, %%markdown, %%perl, %%script, %%sh.

Vlastní magické příkazy

Můžete také vytvořit další vlastní magické příkazy, které vyhovují vašim konkrétním potřebám. Tady je příklad:

  1. Vytvořte poznámkový blok s názvem MyLakehouseModule.

    Snímek obrazovky s definováním vlastní magie

  2. V jiném poznámkovém bloku použijte odkaz na "MyLakehouseModule" a jeho magické příkazy. Tento proces je způsob, jak pohodlně uspořádat projekt pomocí poznámkových bloků, které používají různé jazyky.

    Snímek obrazovky použití vlastní magie.

IPython widgety

Widgety IPython jsou reaktivní objekty Pythonu, které mají reprezentaci v prohlížeči. Widgety IPython můžete použít jako ovládací prvky s nízkým kódem (například posuvník nebo textové pole) v poznámkovém bloku stejně jako poznámkový blok Jupyter. V současné době funguje jenom v kontextu Pythonu.

Použití widgetů IPython

  1. Nejprve naimportujte modul ipywidgets a použijte architekturu Widget Jupyter.

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

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

    slider = widgets.IntSlider()
    display(slider)
    

    Snímek obrazovky widgetu zobrazeného ve výstupní oblasti

  4. Pomocí několika volání display() můžete několikrát vykreslit stejnou instanci widgetu. Zůstanou navzájem synchronizováni.

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

    Snímek obrazovky zobrazující vícekrát jeden widget

  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)
    

    Snímek obrazovky s několika instancemi widgetů

Podporované widgety

Typ widgetů Widgety
Číselné widgety IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText
Logické widgety Přepínač, Zaškrtávací políčko, Platný
Widgety pro výběr Rozbalovací seznam, Radiobuttony, Výběr, Výběrový posuvník, Rozsahový výběrový posuvník, Přepínací tlačítka, Výběr více možností
Řetězcové widgety Text, Textová oblast, Pole se seznamem, Heslo, Popisek, HTML, Matematika HTML, Obrázek, Tlačítko
Widgety pro přehrávání (animace) Datový výběr, Barevný výběr, Ovladač
Kontejnerové nebo rozvržení widgety Box, HBox, VBox, GridBox, Accordion (skládaný seznam), Tabs (karty), Stacked (naskládané)

Známá omezení

  • Následující widgety se zatím nepodporují. K dispozici jsou následující alternativní řešení:

    Funkčnost Alternativní řešení
    Widget výstupu Funkci print() můžete místo toho použít k zápisu textu do stdoutu.
    widgets.jslink() Pomocí funkce widgets.link() můžete propojit dva podobné widgety.
    Widget FileUpload Zatím není podporováno.
  • Globální funkce display ve Fabric nepodporuje zobrazení více widgetů v jednom volání (například display(a, b)). Toto chování se liší od funkce zobrazení IPythonu.

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

  • Funkce interakce (ipywidgets.interact) není podporovaná.

Integrujte notebook

Určení buňky parametrů

Pokud chcete parametrizovat poznámkový blok, vyberte tři tečky (...) a přejděte na Další příkazy na panelu nástrojů buňky. Poté vyberte Přepnout buňku parametrů, abyste buňku určili jako parametrickou buňku.

Snímek obrazovky ukazuje, kde vybrat možnost přepnutí buňky parametru.

Buňka parametru je užitečná pro integraci notebooku do pipeline. Aktivita v pipeline hledá buňku parametrů a považuje tuto buňku za výchozí pro parametry předané během doby provedení. 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 potrubí

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

Snímek obrazovky znázorňující, kde přiřadit hodnoty parametrů z pipeline

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

Parametry poznámkového bloku podporují jednoduché typy, například int, float, boola string. Složité typy, jako list jsou a dict zatím nejsou podporované. Pokud chcete předat komplexní typ, zvažte jeho serializaci do formátu řetězce (například JSON) a pak ho deserializovat v poznámkovém bloku. Následující ukázka ukazuje, jak předat řetězec JSON z kanálu do poznámkového bloku a deserializovat ho:

Snímek obrazovky znázorňující, jak předat řetězec JSON z kanálu

Následující kód Pythonu ukazuje, jak deserializovat řetězec JSON do slovníku Pythonu:

import json

# Deserialize the JSON string into a Python dictionary
params = json.loads(json_string)

# Access the individual parameters
param1 = params.get("param1")
param2 = params.get("param2")

Ujistěte se, že název parametru v buňce kódu parametru odpovídá názvu parametru v kanálu.

Příkaz "magic" pro konfiguraci relace Spark

Relaci Sparku můžete přizpůsobit pomocí magického příkazu %%configure. Poznámkový blok Fabric podporuje přizpůsobená virtuální jádra, paměť ovladače a výkonného procesu, vlastnosti Apache Spark, přípojné body, fond a výchozí datové úložiště relace poznámkového bloku. Dají se použít v interaktivních poznámkových blocích i v aktivitách poznámkových blocích typu pipeline. Doporučujeme spustit příkaz %%configure na začátku poznámkového bloku nebo restartovat relaci Sparku, aby se nastavení projevilo.

%%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"]
    "driverCores": 4, // Recommended values: [4, 8, 16, 32, 64]
    "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 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",
        "spark.log.level": "ALL"
    },
    "defaultLakehouse": {  // This overwrites the default lakehouse for current session
        "name": "<lakehouse-name>",
        "id": "<(optional) lakehouse-id>",
        "workspaceId": "<(optional) workspace-id-that-contains-the-lakehouse>" // Add workspace ID if it's from another workspace
    },
    "mountPoints": [
        {
            "mountPoint": "/myMountPoint",
            "source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>"
        },
        {
            "mountPoint": "/myMountPoint1",
            "source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path1>"
        },
    ],
    "environment": {
        "id": "<environment-id>",
        "name": "<environment-name>"
    },
    "sessionTimeoutInSeconds": 1200,
    "useStarterPool": false,  // Set to true to force using starter pool
    "useWorkspacePool": "<workspace-pool-name>"
}

Poznámka:

  • Doporučujeme nastavit stejnou hodnotu pro "DriverMemory" a "ExecutorMemory" v %%configure. Hodnoty "driverCores" a "executorCores" by také měly být stejné.
  • Nastavení "výchozíLakehouse" přepíše váš připnutý lakehouse v Lakehouse exploreru, ale to funguje pouze ve vašem aktuálním zápisníkovém sezení.
  • V kanálech Fabric můžete použít %%configure, ale pokud není nastavená v první buňce kódu, spuštění kanálu selže kvůli tomu, že relaci nejde restartovat.
  • %%configure použité v notebookutils.notebook.run se ignoruje, ale používá se v %run, kde poznámkový blok pokračuje ve spouštění.
  • Standardní vlastnosti konfigurace Sparku musí být použity v textu "conf". Systém Fabric nepodporuje referenci první úrovně pro konfigurační vlastnosti Sparku.
  • Některé speciální vlastnosti Sparku, včetně "spark.driver.cores", "spark.executor.cores", "spark.driver.memory", "spark.executor.memory" a "spark.executor.instances", nemají účinek v těle "conf".

Také můžete použít příkaz %%configure magic k dynamickému vkládání konfiguračních hodnot z knihovny proměnných do poznámkového bloku.

%%configure
{
  "defaultLakehouse": {
    "name": {
      "variableName": "$(/**/myVL/LHname)" 
    },
    "id": {
      "variableName": "$(/**/myVL/LHid)"
    },
    "workspaceId": {
      "variableName": "$(/**/myVL/WorkspaceId)"
    }
  }
}

V tomto příkladu:

  • myVL je název vaší knihovny proměnných.
  • LHname, LHida WorkspaceId jsou proměnné klíče definované v knihovně.
  • Všechny proměnné by měly být definovány jako typ String v knihovně proměnných, a to i pro hodnoty GUID.
  • workspaceId je vyžadováno, když je lakehouse v jiném pracovním prostoru než aktuální poznámkový blok.
  • Tyto hodnoty jsou vyřešeny za běhu v závislosti na aktivním prostředí (například vývoj, testování, prod).

To vám umožní přepínat konfigurace, jako je výchozí jezero, aniž byste museli upravovat kód poznámkového bloku.

Parametrizovaná konfigurace relace z pipeline

Parametrizovaná konfigurace relace umožňuje nahradit hodnotu v příkazu %%configure magic pomocí parametrů aktivity spuštění datového toku v poznámkovém 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:

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

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

Poznámkový blok používá výchozí hodnotu, pokud ho spouštíte přímo v interaktivním režimu, nebo pokud aktivita kanálového poznámkového bloku neposkytuje žádný parametr, který by odpovídal hodnotě "activityParameterName".

Během spuštění kanálu můžete nakonfigurovat nastavení aktivit v poznámkovém bloku pro kanál následujícím způsobem:

Snímek obrazovky ukazující, kde lze nakonfigurovat parametrizovanou relaci

Pokud chcete změnit konfiguraci relace, název parametru aktivity poznámkového bloku pipeline by měl být stejný jako parameterName v poznámkovém bloku. V tomto příkladu spuštění kanálu jsou driverCores v %%configure nahrazeny číslem 8 a livy.rsc.sql.num-rows číslem 4000.

Poznámka:

  • Pokud spuštění kanálu selže, protože jste použili kouzelný příkaz %%configure, vyhledejte další informace o chybě spuštěním kouzelné buňky %%configure v interaktivním režimu poznámkového bloku.
  • Naplánované spouštění notebooku nepodporuje parametrizovanou konfiguraci relace.

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

Můžete najít protokoly Pythonu a nastavit různé úrovně protokolů a formát, jako je ukázkový kód uvedený tady:

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 Fabric podporuje příkaz magic %history, který umožňuje tisknout historii vstupních příkazů spuštěných v aktuální relaci. Na rozdíl od standardního příkazu Jupyter Ipython příkaz %history funguje pro více jazykových kontextů 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: Vytisknout kód n-té spuštěné buňky.
  • M-N: Vytiskněte kód z Mth do Nth spuštěné buňky.

Příklad:

  • Vytiskněte historii vstupů od 1. do 2. provedené buňky: %history -n 1-2

Klávesové zkratky

Podobně jako poznámkové bloky Jupyter mají poznámkové bloky Fabric 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 Fabric podporují pro danou buňku kódu dva režimy: příkazový režim a režim úprav.

  • Buňka je v režimu příkazu, pokud není žádný textový kurzor, 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 nemůžete psát 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 buňky v režimu příkazů

  • Režim úprav lze určit z textového kurzoru, který vás vyzve k zadání do oblasti editoru. Když je buňka v režimu úprav, můžete do buňky psát. Přejděte do režimu úprav stisknutím klávesy Enter nebo vyberte oblast editoru buňky pomocí myši.

    Snímek obrazovky buňky v režimu úprav

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

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

Klávesové zkratky v režimu úprav

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

Akce Klávesové zkratky poznámkového bloku
Přesunutí kurzoru nahoru Nahoru
Přesunutí kurzoru dolů Dolů
Zpět Ctrl+Z
Znovu Ctrl+Y
Komentář nebo zrušení komentáře Ctrl+/
Komentář: Ctrl + K + C
Odkomentování: Ctrl + K + U
Smazat slovo před Ctrl + Backspace
Odstranit následující slovo Ctrl + Delete
Přechod na začátek buňky Ctrl +Home
Přejít na konec buňky Ctrl +End
Posuňte se o jedno slovo vlevo Ctrl + šipka vlevo
Přejděte o jedno slovo doprava Ctrl + vpravo
Vybrat vše Ctrl+A
Odsazení Ctrl+]
Dedent Ctrl+[
Přepnout do režimu příkazů Esc

Pokud chcete najít všechny klávesové zkratky, vyberte Zobrazit na pásu karet poznámkového bloku a pak vyberte Klávesové vazby.