Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 porovnání vedle sebe, najdete v tématu Navigace v poznámkovém 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í debugger pro poznámkové bloky Pythonu. Podívejte se na Ladicí bloky poznámek.
Modularizace kódu
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.
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 a tokenize-rt balíčky Pythonu.
Na Databricks Runtime 11.3 LTS a novějších Azure Databricks předinstaluje black a tokenize-rt. Formátovací modul můžete použít přímo bez nutnosti instalovat tyto knihovny.
V Databricks Runtime 10.4 LTS nebo starší musíte nainstalovat black==22.3.0 a tokenize-rt==4.2.1 z PyPI do poznámkového bloku nebo clusteru, abyste mohli použít formátovač 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 nakonfigurovat Python formátovací modul na základě souboru 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.
- Nabídka příkazového kontextu
- Formát buňky SQL: Vyberte Formát SQL v rozevírací nabídce kontextu příkazu buňky 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í jazykové
%sqlkouzlo. - Formátování Python buňky: V kontextovém menu buňky Python vyberte možnost Formát Python. Tato položka nabídky je viditelná jenom v buňkách poznámkového bloku Pythonu nebo v buňkách s jazykovou
%pythonmagii.
- Formát buňky SQL: Vyberte Formát SQL v rozevírací nabídce kontextu příkazu buňky 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í jazykové
- Nabídka Upravit poznámkový blok: Vyberte buňku Pythonu nebo SQL a pak vyberte Upravit > Formát buněk.
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í
%sqla%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í
%sqla%python.
Pokud chcete přizpůsobit formátování dotazů SQL, podívejte se na příkazy SQL vlastního formátu.
Omezení formátování kódu
- Black přísně dodržuje standardy PEP 8 pro čtyřmezerové odsazení. Odsazení nejde upravit dle potřeby.
- Formátování vložených řetězců Pythonu uvnitř UDF SQL se nepodporuje. Podobně není formátování SQL řetězců uvnitř uživatelsky definované funkce Pythonu podporováno.
Jazyky kódu v notebooku
Nastavení výchozího jazyka
Pod názvem poznámkového bloku se zobrazí výchozí jazyk.
Pokud chcete změnit výchozí jazyk, klikněte na tlačítko jazyka a v rozevírací nabídce vyberte nový jazyk. Aby bylo zajištěno, že stávající příkazy budou dál fungovat, jsou příkazy předchozího výchozího jazyka automaticky opatřeny příkazem pro nastavení jazyka.
Smíchat jazyky
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.
Případně můžete na začátku buňky použít jazykový příkaz magie %<language>. Podporované příkazy magic jsou: %python, %r, %scalaa %sql.
Poznámka:
Když vyvoláte příkaz jazyka magic, příkaz se odešle do REPL v prostředí provádění pro tento poznámkový blok. Proměnné definované v jednom jazyce (a proto v REPL pro tento jazyk) nejsou k dispozici v REPL jiného jazyka. REPLy mohou sdílet stav pouze prostřednictvím externích prostředků, jako jsou soubory v DBFS nebo objekty v objektovém úložišti.
Poznámkové bloky také podporují několik pomocných "magic" příkazů.
-
%sh: Umožňuje spustit shell kód v programátorském poznámkovém bloku. Aby buňka selhala, pokud příkaz prostředí skončí s nenulovým stavem ukončení, přidejte možnost-e. Tento příkaz se spouští pouze na ovladači Apache Spark, nikoli na pracovnících. Ke spuštění shellového příkazu na všech uzlech použijte inicializační skript. -
%fs: Umožňuje používatdbutilspříkazy systému souborů. Pokud chcete například spustitdbutils.fs.lspří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.
Prozkoumejte výsledky buněk SQL
V poznámkovém bloku Databricks se výsledky z buňky jazyka SQL automaticky zpřístupňují jako implicitní datový rámec přiřazený proměnné _sqldf. Tuto proměnnou pak můžete použít v libovolných buňkách Pythonu a SQL, které pak spustíte, bez ohledu na jejich pozici v poznámkovém bloku.
Poznámka:
Tato funkce má následující omezení:
- Proměnná
_sqldfnení k dispozici v poznámkových blocích, které pro výpočty používají SQL Warehouse . - Použití
_sqldfv následujících buňkách Pythonu se podporuje v Databricks Runtime 13.3 a novějších. - Použití
_sqldfv následujících buňkách SQL je podporováno pouze v Databricks Runtime 14.3 a vyšší. - Pokud dotaz používá klíčová slova
CACHE TABLEneboUNCACHE TABLE,_sqldfproměnná není k dispozici.
Následující snímek obrazovky ukazuje, jak _sqldf se dá použít v následujících buňkách Pythonu a SQL:
Důležité
Proměnná _sqldf se znovu přiřazuje při každém spuštění buňky SQL. Pokud se chcete vyhnout ztrátě odkazu na konkrétní výsledek datového rámce, přiřaďte ho novému názvu proměnné před spuštěním další buňky SQL:
Python
new_dataframe_name = _sqldf
SQL
ALTER VIEW _sqldf RENAME TO new_dataframe_name
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. V nové paralelní relaci se spustí buňka SQL.
Spuštění buňky v paralelním režimu:
Klikněte na možnost Spustit. Buňka se okamžitě spustí.
Protože je buňka spuštěna v nové relaci, dočasná zobrazení, uživatelem definované funkce (UDFs) a implicitní datový rámec Pythonu (_sqldf) nejsou podporovány u buněk, které se vykonávají 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.
Spouštění kódu v Nástroji Assistant na bezserverových výpočetních prostředcích
Kód můžete spustit v Pomocníkovi v Databricks na bezserverových výpočetních prostředcích, což je výchozí výpočetní výkon v Databricks. Pro stránky, kde už je vybraný výpočetní objekt (například poznámkové bloky nebo editor SQL), databricks ho standardně používá. Informace o typech výpočetních prostředků najdete v tématu Výpočty.
Pokud nemáte přístup k bezserverovým výpočetním prostředkům, musíte mít k dispozici výpočetní instanci pro spuštění kódu na panelu Pomocník.
Použijte magické příkazy
Poznámkové bloky Databricks podporují různé magické příkazy, které rozšiřují funkčnost nad rámec standardní syntaxe a zjednodušují běžné úlohy. Magické příkazy mají předponu % pro liniové a buňkové magie.
| Kouzelný příkaz | Příklad | Description |
|---|---|---|
%python |
%pythonprint("Hello") |
Přepněte jazyk buňky do Pythonu. Spustí kód Pythonu v buňce. |
%r |
%rprint("Hello") |
Přepněte jazyk buňky na R. Spustí kód R v buňce. |
%scala |
%scalaprintln("Hello") |
Přepněte jazyk buňky na Scala. Spustí kód Scala v buňce. |
%sql |
%sqlSELECT * FROM table |
Přepněte jazyk buňky na SQL. Výsledky jsou k dispozici jako _sqldf v buňkách Pythonu nebo SQL. |
%md |
%md# TitleContent here |
Přepněte jazyk buňky na Markdown. Vykreslí obsah Markdownu v buňce. Podporuje text, obrázky, vzorce a LaTeX. |
%pip |
%pip install pandas |
Nainstalujte balíčky Pythonu (v rámci poznámkového bloku). Viz Python knihovny pro poznámkové bloky. |
%run |
%run /path/to/notebook |
Spusťte další poznámkový blok a importujte jeho funkce a proměnné. Viz pracovní postupy poznámkového bloku. |
%fs |
%fs ls /path |
Spusťte příkazy systému souborů dbutils. Zkrácená forma pro dbutils.fs příkazy. Viz Práce se soubory. |
%sh |
%sh ls -la |
Spusťte příkazy shellu. Spouští se jenom na uzlu ovladače. Použijte -e k selhání v případě chyby. |
%tensorboard |
%tensorboard --logdir /logs |
Zobrazí uživatelské rozhraní TensorBoardu přímo v řádku. K dispozici pouze pro Databricks Runtime ML. Viz TensorBoard. |
%set_cell_max_output_size_in_mb |
%set_cell_max_output_size_in_mb 10 |
Nastavte maximální velikost výstupu buňky. Rozsah: 1–20 MB. Platí pro všechny následující buňky v poznámkovém bloku. |
%skip |
%skipprint("This won't run") |
Přeskočte provádění buněk. Zabrání spuštění buňky při spuštění poznámkového bloku. |
Poznámka:
IPython Automagic: Poznámkové bloky Databricks mají ve výchozím nastavení povolenou automatickou magii IPythonu, což umožňuje fungování některých příkazů pip bez předpony %. Například pip install pandas funguje stejně jako %pip install pandas.
Důležité
- Proměnné a stav jsou izolované mezi různými jazykovými prostředími REPL. Například proměnné Pythonu nejsou v buňkách Scala přístupné.
- Buňka poznámkového bloku může mít jenom jeden příkaz magic buňky a musí to být první řádek buňky.
-
%runmusí být v samostatné buňce, protože jej spouští v rámci celého poznámkového bloku. - Při použití
%pipv Databricks Runtime 12.2 LTS a níže umístěte všechny instalační příkazy balíčku na začátek poznámkového bloku, protože stav Pythonu se po instalaci resetuje.