Sdílet prostřednictvím


Vývoj kódu v poznámkových blocích Databricks

Tato stránka popisuje, jak vyvíjet kód v poznámkových blocích Databricks, včetně automatického dokončování, automatického formátování pro Python a SQL, kombinování Pythonu a SQL v poznámkovém bloku a sledování historie verzí poznámkového bloku.

Další podrobnosti o pokročilých funkcích dostupných v editoru, jako je automatické dokončování, výběr proměnných, podpora více kurzorů a souběžné rozdíly, najdete v tématu Použití poznámkového bloku Databricks a editoru souborů.

Když používáte poznámkový blok nebo editor souborů, je nástroj Databricks Assistant k dispozici, který vám pomůže vygenerovat, vysvětlit a ladit kód. Další informace najdete v tématu Použití nástroje Databricks Assistant .

Poznámkové bloky Databricks také obsahují integrovaný interaktivní ladicí program pro poznámkové bloky Pythonu. Viz Ladicí poznámkové bloky.

Získání nápovědy k kódování od Databricks Assistantu

Databricks Assistant je pomocník umělé inteligence pracující s kontextem, se kterým můžete pracovat pomocí konverzačního rozhraní a zvýšit produktivitu v Databricks. Úkol můžete popsat v angličtině a nechat asistenta generovat kód Pythonu nebo dotazy SQL, vysvětlit složitý kód a automaticky opravit chyby. Pomocník používá metadata katalogu Unity k pochopení tabulek, sloupců, popisů a oblíbených datových prostředků ve vaší společnosti k poskytování přizpůsobených odpovědí.

Nástroj Databricks Assistant vám může pomoct s následujícími úlohami:

  • Vygenerujte kód.
  • Ladění kódu, včetně identifikace a navrhování oprav chyb
  • Transformujte a optimalizujte kód.
  • Vysvětlit kód
  • Pomůže vám najít relevantní informace v dokumentaci k Azure Databricks.

Informace o používání nástroje Databricks Assistant, který vám pomůže efektivněji kódovat, najdete v tématu Použití Nástroje Databricks Assistant. Obecné informace o nástroji Databricks Assistant najdete v tématu Funkce využívající DatabricksIQ.

Přístup k poznámkovému bloku pro úpravy

Pokud chcete otevřít poznámkový blok, použijte funkci Hledání pracovního prostoru nebo pomocí prohlížeče pracovního prostoru přejděte do poznámkového bloku a klikněte na název nebo ikonu poznámkového bloku.

Procházet data

Pomocí prohlížeče schémat můžete prozkoumat objekty katalogu Unity dostupné pro poznámkový blok. Kliknutím Ikona dat poznámkového bloku na levou stranu poznámkového bloku otevřete prohlížeč schématu.

Tlačítko Pro vás zobrazí jenom ty objekty, které jste použili v aktuální relaci nebo které jste dříve označili jako oblíbené.

Při zadávání textu do pole Filtr se zobrazení změní tak, aby zobrazoval jenom objekty, které obsahují zadaný text. Zobrazí se pouze objekty, které jsou aktuálně otevřené nebo které byly otevřeny v aktuální relaci. Pole Filtr neprovádí úplné vyhledávání katalogů, schémat, tabulek a svazků dostupných pro poznámkový blok.

Nabídku kebab otevřete Nabídka Kebab tak, že najedete myší na název objektu, jak je znázorněno na obrázku:

Nabídka kebab v prohlížeči schématu

Pokud je objekt tabulkou, můžete udělat toto:

  • Automaticky vytvořte a spusťte buňku, aby se zobrazil náhled dat v tabulce. V nové buňce vyberte náhled v nabídce kebabu pro tabulku.
  • Zobrazení katalogu, schématu nebo tabulky v Průzkumníku katalogu V nabídce kebab vyberte Otevřít v Průzkumníku katalogu. Otevře se nová karta s vybraným objektem.
  • Získejte cestu k katalogu, schématu nebo tabulce. Vyberte Kopírovat... cesta z nabídky kebab objektu.
  • Přidejte tabulku k oblíbeným položkám. V nabídce kebab pro tabulku vyberte Přidat k oblíbeným položkám.

Pokud je objekt katalogem, schématem nebo svazkem, můžete zkopírovat cestu k objektu nebo ho otevřít v Průzkumníku katalogu.

Vložení názvu tabulky nebo sloupce přímo do buňky:

  1. Klikněte na kurzor v buňce v místě, kde chcete zadat název.
  2. Přesuňte kurzor na název tabulky nebo název sloupce v prohlížeči schématu.
  3. Klikněte na dvojitou šipku dvojitá šipka, která se zobrazí vpravo od názvu objektu.

Klávesové zkratky

Klávesové zkratky zobrazíte tak, že vyberete Klávesové zkratky nápovědy>. Dostupné klávesové zkratky závisí na tom, jestli je kurzor v buňce kódu (režim úprav) nebo ne (režim příkazů).

Paleta příkazů

Akce v poznámkovém bloku můžete rychle provádět pomocí palety příkazů. Pokud chcete otevřít panel akcí poznámkového bloku, klikněte _ v pravém dolním rohu pracovního prostoru nebo použijte klávesovou zkratku Cmd + Shift + P v macOS nebo Ctrl + Shift + P ve Windows.

paleta příkazů

Vyhledání a nahrazení textu

Pokud chcete najít a nahradit text v poznámkovém bloku, vyberte Upravit > hledání a nahrazení. Aktuální shoda je zvýrazněná oranžově a všechny ostatní shody jsou zvýrazněné žlutě.

Chcete-li nahradit aktuální shodu, klepněte na tlačítko Nahradit. Pokud chcete nahradit všechny shody v poznámkovém bloku, klikněte na Nahradit vše.

Chcete-li přecházet mezi shodami, klikněte na tlačítka Před a Další . Můžete také stisknout shift+enter a přejít na předchozí a další shody.

Pokud chcete nástroj najít a nahradit zavřete, klikněte Ikona Odstranit nebo stiskněte klávesu Esc.

Spuštění vybraných buněk

Můžete spustit jednu buňku nebo kolekci buněk. Pokud chcete vybrat jednu buňku, klikněte na libovolné místo v buňce. Pokud chcete vybrat více buněk, podržte stisknutou Command klávesu v systému MacOS nebo klávesu Ctrl ve Windows a klikněte na buňku mimo text, jak je znázorněno na snímku obrazovky.

Jak vybrat více buněk

Pokud chcete spustit vybrané chování tohoto příkazu, závisí na clusteru, ke kterému je poznámkový blok připojený.

  • V clusteru s Modulem Databricks Runtime 13.3 LTS nebo nižším se vybrané buňky spouští jednotlivě. Pokud dojde k chybě v buňce, provádění pokračuje s dalšími buňkami.
  • V clusteru s modulem Databricks Runtime 14.0 nebo novějším nebo ve službě SQL Warehouse se vybrané buňky spouští jako dávka. Jakákoli chyba zastaví provádění a nelze zrušit provádění jednotlivých buněk. Pomocí tlačítka Přerušení můžete ukončit provádění všech buněk.

Modularizace kódu

Důležité

Tato funkce je ve verzi Public Preview.

S modulem Databricks Runtime 11.3 LTS a novějším můžete vytvářet a spravovat soubory zdrojového kódu v pracovním prostoru Azure Databricks a pak je podle potřeby importovat do svých poznámkových bloků.

Další informace o práci se soubory zdrojového kódu najdete v tématu Sdílení kódu mezi poznámkovými bloky Databricks a práce s moduly Python a R.

Spuštění vybraného textu

Kód nebo příkazy SQL můžete zvýraznit v buňce poznámkového bloku a spustit pouze tento výběr. To je užitečné, když chcete rychle iterovat kód a dotazy.

  1. Zvýrazněte řádky, které chcete spustit.

  2. Vyberte Spustit > vybraný text nebo použijte klávesovou zkratku CtrlEnter+Shift+. Pokud není zvýrazněn žádný text, spustí spuštění vybraného textu aktuální řádek.

    spuštění vybraných řádků

Pokud v buňce používáte smíšené jazyky, musíte do výběru zahrnout %<language> řádek.

Spuštění vybraného textu také spustí sbalený kód, pokud je ve zvýrazněné volbě nějaký.

Podporují se speciální příkazy buněk, například %run, %pipa %sh jsou podporovány.

Nelze použít možnost Spustit vybraný text v buňkách s více výstupními kartami (to znamená buňky, ve kterých jste definovali datový profil nebo vizualizaci).

Formátování buněk kódu

Azure Databricks poskytuje nástroje, které umožňují rychle a snadno formátovat kód Pythonu a SQL v buňkách poznámkových bloků. Tyto nástroje snižují úsilí o formátování kódu a pomáhají vynucovat stejné standardy kódování v poznámkových blocích.

Černá knihovna formátovače Pythonu

Důležité

Tato funkce je ve verzi Public Preview.

Azure Databricks podporuje formátování kódu Pythonu pomocí černého kódu v poznámkovém bloku. Poznámkový blok musí být připojený ke clusteru s nainstalovanými black tokenize-rt balíčky Pythonu.

Ve službě Databricks Runtime 11.3 LTS a novějších předinstalovaných black tokenize-rta . Formátovací modul můžete použít přímo bez nutnosti instalovat tyto knihovny.

V Databricks Runtime 10.4 LTS a níže musíte do poznámkového bloku nebo clusteru nainstalovat black==22.3.0 a tokenize-rt==4.2.1 z PyPI použít formátovací modul Pythonu. V poznámkovém bloku můžete spustit následující příkaz:

%pip install black==22.3.0 tokenize-rt==4.2.1

nebo nainstalujte knihovnu do clusteru.

Další podrobnosti o instalaci knihoven najdete v tématu Správa prostředí Pythonu.

U souborů a poznámkových bloků ve složkách Databricks Git můžete na základě souboru nakonfigurovat formátovací modul Pythonu pyproject.toml . Pokud chcete tuto funkci použít, vytvořte soubor v kořenovém pyproject.toml adresáři složky Git a nakonfigurujte ho podle formátu konfigurace Black. Upravte v souboru oddíl [tool.black]. Konfigurace se použije při formátování libovolného souboru a poznámkového bloku v této složce Git.

Jak formátovat buňky Pythonu a SQL

Abyste mohli formátovat kód, musíte mít oprávnění CAN EDIT v poznámkovém bloku.

Azure Databricks používá knihovnu Gethue/sql-formatter k formátování SQL a černý formátovací modul pro Python.

Formátovací modul můžete aktivovat následujícími způsoby:

  • Formátování jedné buňky

    • Klávesová zkratka: Stiskněte Cmd+Shift+F.
    • Místní nabídka příkazu:
      • Formát buňky SQL: V místní nabídce příkazu buňky SQL vyberte Formát SQL . Tato položka nabídky je viditelná jenom v buňkách poznámkového bloku SQL nebo v buňkách, které mají jazykovou %sql magii.
      • Formát buňky Pythonu: V místní nabídce příkazu buňky Pythonu vyberte Formát Pythonu . Tato položka nabídky je viditelná jenom v buňkách poznámkového bloku Pythonu nebo v buňkách s jazykovým %python magií.
    • Nabídka Upravit poznámkový blok: Vyberte buňku Pythonu nebo SQL a pak vyberte Upravit > buňky formátu.
  • Formátování více buněk

    Vyberte více buněk a pak vyberte Upravit > formát buněk. Pokud vyberete buňky ve více než jednom jazyce, formátují se jenom buňky SQL a Pythonu. To zahrnuje ty, které používají %sql a %python.

  • Formátování všech buněk Pythonu a SQL v poznámkovém bloku

    Vyberte Upravit > formát poznámkového bloku. Pokud poznámkový blok obsahuje více jazyků, formátují se jenom buňky SQL a Pythonu. To zahrnuje ty, které používají %sql a %python.

Omezení formátování kódu

  • Black vynucuje standardy PEP 8 pro odsazení o velikosti 4 mezery. Odsazení není možné konfigurovat.
  • Formátování vložených řetězců Pythonu uvnitř UDF SQL se nepodporuje. Podobně není formátování řetězců SQL uvnitř uživatelem definovaného uživatelem Pythonu podporované.

Historie verzí

Poznámkové bloky Azure Databricks udržují historii verzí poznámkových bloků, takže můžete zobrazit a obnovit předchozí snímky poznámkového bloku. U verzí můžete provádět následující akce: přidávat komentáře, obnovovat a odstraňovat verze a vymazat historii verzí.

Svou práci v Databricks můžete také synchronizovat se vzdáleným úložištěm Git.

Pokud chcete získat přístup k verzím poznámkového bloku, klikněte na Ikona historie verzí pravý boční panel. Zobrazí se historie verzí poznámkového bloku. Můžete také vybrat historii verzí souboru>.

Přidat komentář

Přidání komentáře k nejnovější verzi:

  1. Klikněte na verzi.

  2. Klikněte na Uložit.

    Uložit komentář

  3. V dialogovém okně Uložit verzi poznámkového bloku zadejte komentář.

  4. Klikněte na Uložit. Verze poznámkového bloku se uloží se zadaným komentářem.

Obnovení verze

Obnovení verze:

  1. Klikněte na verzi.

  2. Klikněte na Obnovit tuto verzi.

    Obnovení verze

  3. Klikněte na tlačítko Potvrdit. Vybraná verze se stane nejnovější verzí poznámkového bloku.

Odstranění verze

Odstranění položky verze:

  1. Klikněte na verzi.

  2. Klikněte na ikonu Koškoše .

    Odstranit verzi

  3. Klikněte na Ano, vymažte. Vybraná verze se odstraní z historie.

Vymazat historii verzí

Po vymazání nelze obnovit historii verzí.

Vymazání historie verzí poznámkového bloku:

  1. Vyberte Historii verzí Vymazat soubor>.
  2. Klikněte na Ano, zrušte zaškrtnutí. Historie verzí poznámkového bloku se vymaže.

Jazyky kódu v poznámkových blocích

Nastavení výchozího jazyka

Vedle názvu poznámkového bloku se zobrazí výchozí jazyk.

Výchozí jazyk poznámkového bloku

Pokud chcete změnit výchozí jazyk, klikněte na tlačítko jazyka a v rozevírací nabídce vyberte nový jazyk. Abyste zajistili, že existující příkazy budou dál fungovat, budou příkazy předchozího výchozího jazyka automaticky předponovány příkazem magic jazyka.

Mix jazyků

Ve výchozím nastavení používají buňky výchozí jazyk poznámkového bloku. Výchozí jazyk v buňce můžete přepsat kliknutím na tlačítko jazyka a výběrem jazyka z rozevírací nabídky.

Rozevírací seznam jazyka buněk

Případně můžete použít příkaz %<language> magic jazyka na začátku buňky. Podporované příkazy magic jsou: %python, %r, %scalaa %sql.

Poznámka:

Když vyvoláte příkaz magic jazyka, příkaz se odešle do REPL v kontextu spuštění poznámkového bloku. Proměnné definované v jednom jazyce (a proto v REPL pro tento jazyk) nejsou k dispozici v REPL jiného jazyka. Seznamy REPLs můžou sdílet stav pouze prostřednictvím externích prostředků, jako jsou soubory v DBFS nebo objekty v úložišti objektů.

Poznámkové bloky také podporují několik pomocných příkazů magic:

  • %sh: Umožňuje spustit v poznámkovém bloku kód prostředí. Pokud chcete buňku selhat, pokud má příkaz prostředí nenulový stav ukončení, přidejte možnost -e . Tento příkaz běží jenom na ovladači Apache Spark, nikoli pracovních procesů. Ke spuštění příkazu prostředí na všech uzlech použijte inicializační skript.
  • %fs: Umožňuje používat dbutils příkazy systému souborů. Pokud chcete například spustit dbutils.fs.ls příkaz pro výpis souborů, můžete místo toho zadat %fs ls . Další informace najdete v tématu Práce se soubory v Azure Databricks.
  • %md: Umožňuje zahrnout různé typy dokumentace, včetně textu, obrázků a matematických vzorců a rovnic. Postup najdete v další části.

Zvýraznění syntaxe SQL a automatické dokončování v příkazech Pythonu

Zvýraznění syntaxe a automatické dokončování SQL jsou k dispozici, když používáte SQL v příkazu Pythonu, například v spark.sql příkazu.

Prozkoumání výsledků buněk SQL v poznámkových blocích Pythonu pomocí Pythonu

Možná budete chtít načíst data pomocí SQL a prozkoumat je pomocí Pythonu. V poznámkovém bloku Pythonu Databricks se výsledky tabulky z buňky jazyka SQL automaticky zpřístupní jako datový rámec Pythonu přiřazeného proměnné _sqldf.

Ve službě Databricks Runtime 13.3 LTS a novějších můžete k výsledku datového rámce přistupovat také pomocí systému ukládání výstupu IPythonu do mezipaměti. Čítač výzvy se zobrazí ve výstupní zprávě zobrazené v dolní části výsledků buňky. V uvedeném příkladu byste odkazoval na výsledek jako Out[2].

Poznámka:

  • Proměnnou _sqldf je možné při každém %sql spuštění buňky znovu přiřadit. Pokud se chcete vyhnout ztrátě odkazu na výsledek datového rámce, před spuštěním další %sql buňky ho přiřaďte novému názvu proměnné:

    new_dataframe_name = _sqldf
    
  • Pokud dotaz používá widget pro parametrizaci, výsledky nejsou k dispozici jako datový rámec Pythonu.

  • Pokud dotaz používá klíčová slova CACHE TABLE nebo UNCACHE TABLE, výsledky nejsou k dispozici jako datový rámec Pythonu.

Snímek obrazovky ukazuje příklad:

Datový rámec výsledků SQL

Paralelní spouštění buněk SQL

Když je spuštěný příkaz a poznámkový blok je připojený k interaktivnímu clusteru, můžete spustit buňku SQL současně s aktuálním příkazem. Buňka SQL se spustí v nové paralelní relaci.

Paralelní spuštění buňky:

  1. Spusťte buňku.

  2. Klikněte na možnost Spustit. Buňka se okamžitě spustí.

    Paralelní spuštění buňky SQL s aktuální spuštěnou buňkou

Protože je buňka spuštěna v nové relaci, dočasná zobrazení, funkce definované uživatelem a implicitní datový rámec Pythonu (_sqldf) nejsou podporovány pro buňky, které se spouští paralelně. Kromě toho se při paralelním provádění používají výchozí názvy katalogů a databází. Pokud váš kód odkazuje na tabulku v jiném katalogu nebo databázi, je nutné zadat název tabulky pomocí tříúrovňového oboru názvů (catalog.schema.).table

Spouštění buněk SQL ve službě SQL Warehouse

Příkazy SQL můžete spouštět v poznámkovém bloku Databricks ve službě SQL Warehouse, typ výpočetních prostředků, který je optimalizovaný pro analýzu SQL. Viz Použití poznámkového bloku se službou SQL Warehouse.

Zobrazení obrázků

Azure Databricks podporuje zobrazení obrázků v buňkách Markdownu. Můžete zobrazit obrázky uložené v pracovním prostoru, svazkech nebo filestore.

Zobrazení obrázků uložených v pracovním prostoru

K zobrazení obrázků uložených v pracovním prostoru můžete použít absolutní cesty nebo relativní cesty. Pokud chcete zobrazit obrázek uložený v pracovním prostoru, použijte následující syntaxi:

%md
![my_test_image](/Workspace/absolute/path/to/image.png)

![my_test_image](./relative/path/to/image.png)

Vložení obrázku do buňky Markdownu

Zobrazení obrázků uložených ve svazcích

K zobrazení obrázků uložených ve svazcích můžete použít absolutní cesty. Pokud chcete zobrazit obrázek uložený ve svazcích, použijte následující syntaxi:

%md
![my_test_image](/Volumes/absolute/path/to/image.png)

Zobrazení obrázků uložených v Úložišti souborů

Pokud chcete zobrazit obrázky uložené v FileStore, použijte následující syntaxi:

%md
![my_test_image](files/image.png)

Předpokládejme například, že máte soubor obrázku loga Databricks v FileStore:

dbfs ls dbfs:/FileStore/
databricks-logo-mobile.png

Pokud do buňky Markdownu zahrnete následující kód:

Obrázek v buňce Markdownu

obrázek se v buňce vykreslí:

Vykreslený obrázek

Přetažení obrázků

Obrázky můžete přetáhnout z místního systému souborů do buněk Markdownu. Obrázek se nahraje do aktuálního adresáře pracovního prostoru a zobrazí se v buňce.

Přetažení obrázku do buňky Markdownu

Zobrazení matematických rovnic

Poznámkové bloky podporují KaTeX pro zobrazení matematických vzorců a rovnic. Příklad:

%md
\\(c = \\pm\\sqrt{a^2 + b^2} \\)

\\(A{_i}{_j}=B{_i}{_j}\\)

$$c = \\pm\\sqrt{a^2 + b^2}$$

\\[A{_i}{_j}=B{_i}{_j}\\]

zobrazí jako:

Vykreslená rovnice 1

a

%md
\\( f(\beta)= -Y_t^T X_t \beta + \sum log( 1+{e}^{X_t\bullet\beta}) + \frac{1}{2}\delta^t S_t^{-1}\delta\\)

where \\(\delta=(\beta - \mu_{t-1})\\)

zobrazí jako:

Vykreslená rovnice 2

Zahrnout HTML

Kód HTML můžete do poznámkového bloku zahrnout pomocí funkce displayHTML. Příklad tohoto postupu najdete v poznámkových blocích v html, D3 a SVG.

Poznámka:

Prvek displayHTML iframe se obsluhuje z domény databricksusercontent.com a sandbox prvku iframe obsahuje allow-same-origin atribut. Doména databricksusercontent.com musí být přístupná z prohlížeče. Pokud je v tuto chvíli zablokovaná podnikovou sítí, musíte ji přidat do seznamu povolených domén.

Pomocí relativních cest můžete propojit jiné poznámkové bloky nebo složky v buňkách Markdownu. href Zadejte atribut značky ukotvení jako relativní cestu, počínaje řetězcem a $ pak postupujte podle stejného vzoru jako v systémech souborů unixu:

%md
<a href="$./myNotebook">Link to notebook in same folder as current notebook</a>
<a href="$../myFolder">Link to folder in parent folder of current notebook</a>
<a href="$./myFolder2/myNotebook2">Link to nested notebook</a>