Azure Databricks pro vývojáře v Pythonu
Tato část obsahuje průvodce vývojem poznámkových bloků a úloh v Azure Databricks pomocí jazyka Python, včetně kurzů pro běžné pracovní postupy a úlohy a odkazů na rozhraní API, knihovny a nástroje.
Začněte tím, že:
- Import kódu: Buď naimportujte vlastní kód ze souborů nebo z úložišť Git, nebo vyzkoušejte kurz uvedený níže. Databricks doporučuje učení pomocí interaktivních poznámkových bloků Databricks.
- Spusťte kód v clusteru: Buď vytvořte vlastní cluster, nebo se ujistěte, že máte oprávnění k používání sdíleného clusteru. Připojte notebook ke clusteru a spusťte notebook.
- Pak můžete:
- Práce s většími datovými sadami pomocí Apache Sparku
- Přidání vizualizací
- Automatizujte svou pracovní zátěž jako práci
- Použití strojového učení k analýze dat
- Vývoj v prostředích IDE
Návody
Následující kurzy obsahují ukázkový kód a poznámkové bloky, které vám pomůžou seznámit se s běžnými pracovními postupy. Pokyny k importu příkladů poznámkových bloků do pracovního prostoru najdete v tématu Import poznámkového bloku .
Příprava dat
- Kurz: Načtení a transformace dat pomocí datových rámců Apache Spark poskytuje návod, který vám pomůže získat informace o datových rámcích Apache Spark pro přípravu a analýzu dat.
- Návod: Delta Lake.
- Návod : Spusťte svůj první DLT pipeline.
Datové vědy a strojové učení
- Začínáme s datovými rámci Apache Spark pro přípravu a analýzu dat: Kurz: Načtení a transformace dat pomocí datových rámců Apache Spark
- Kurz: Kompletní modely ML v Azure Databricks Další příklady najdete v tutoriálech: Začínáme s AI a strojovým učením.
- AutoML vám umožní rychle začít s vývojem modelů strojového učení na vlastních datových sadách. Jeho přístup typu „skleněná krabice“ generuje poznámkové bloky s kompletním pracovním postupem strojového učení, které můžete klonovat, upravovat a znovu spouštět.
- Správa životního cyklu modelu v katalogu Unity
- Kurz: Kompletní modely ML v Azure Databricks
Ladění v poznámkových blocích Pythonu
Ukázkový poznámkový blok ukazuje, jak používat ladicí program Pythonu (pdb) v poznámkových blocích Databricks. Pokud chcete použít ladicí program Pythonu, musíte používat Databricks Runtime 11.3 LTS nebo vyšší.
S modulem Databricks Runtime 12.2 LTS a novějším můžete pomocí průzkumníka proměnných sledovat aktuální hodnoty proměnných v Pythonu v uživatelském rozhraní poznámkového bloku. Průzkumník proměnných můžete použít k pozorování hodnot proměnných Pythonu při procházení jednotlivými body přerušení.
Ukázkový poznámkový blok ladicího programu Pythonu
Vezmi poznámkový blok
Poznámka:
breakpoint()
není podporován v IPythonu , a proto nefunguje v poznámkových blocích Databricks. Místo toho můžete použít import pdb; pdb.set_trace()
breakpoint()
.
Rozhraní API Pythonu
Kód Pythonu, který běží mimo Databricks, se může obecně spouštět v Databricks a naopak. Pokud máte existující kód, stačí ho naimportovat do Databricks, abyste mohli začít. Podrobnosti najdete v části Správa kódu pomocí poznámkových bloků a složek Gitu Databricks.
Databricks může spouštět úlohy s jedním počítačem i distribuovanými úlohami Pythonu. Pro jednopočítačové výpočty můžete jako obvykle používat rozhraní API a knihovny Pythonu, například pandas a scikit-learn „prostě fungují“. V případě distribuovaných úloh Pythonu nabízí Databricks dvě oblíbená rozhraní API: PySpark a Pandas API ve Sparku.
PySpark API
PySpark je oficiální rozhraní API Pythonu pro Apache Spark a kombinuje výkon Pythonu a Apache Sparku. PySpark je flexibilnější než rozhraní Pandas API ve Sparku a poskytuje rozsáhlou podporu a funkce pro datové vědy a technické funkce, jako jsou Spark SQL, Strukturované streamování, MLLib a GraphX.
API Pandas na Sparku
Poznámka:
Opensourcový projekt Koalas teď doporučuje přepnout na rozhraní PANDAS API ve Sparku. Rozhraní Pandas API ve Sparku je k dispozici v clusterech, na kterých běží Databricks Runtime 10.0 (EoS) a novější. Pro clustery, na kterých běží Databricks Runtime 9.1 LTS a níže, použijte místo toho Koalas .
Pandas je balíček Pythonu, který běžně používají datoví vědci pro analýzu a manipulaci s daty. Knihovna pandas se ale neškáluje na velká data. Rozhraní Pandas API na Sparku tuto mezeru vyplňuje poskytnutím API ekvivalentních Pandas, která fungují na Apache Spark. Toto open source rozhraní API je ideální volbou pro odborníky na data, kteří znají knihovnu pandas, ale ne Apache Spark.
Správa kódu pomocí poznámkových bloků a složek Git Databricks
Poznámkové bloky Databricks podporují Python. Tyto poznámkové bloky poskytují funkce podobné Jupyteru, ale jsou rozšířeny o další možnosti, jako jsou zabudované vizualizace využívající velké objemy dat, integrace Apache Spark pro ladění a monitorování výkonu a integrace MLflow pro sledování experimentů strojového učení. Začněte importováním notebooku. Jakmile budete mít přístup ke clusteru, můžete připojit poznámkový blok ke clusteru a spustit poznámkový blok.
Tip
Pokud chcete obnovit stav notebooku, restartujte jádro IPythonu. Uživatelům Jupyteru možnost „restartovat jádro“ odpovídá odpojení a opětovnému připojení notebooku v Databricks. Pokud chcete restartovat jádro v poznámkovém bloku Pythonu, klikněte na selektor výpočetních prostředků na panelu nástrojů poznámkového bloku a najeďte myší na připojený cluster nebo SQL warehouse v seznamu, abyste zobrazili boční nabídku. Vyberte Odpojte & znovu připojte. Tím se poznámkový blok odpojí od clusteru a znovu ho připojí, což restartuje proces Pythonu.
Složky Gitu Databricks umožňují uživatelům synchronizovat poznámkové bloky a další soubory s úložišti Git. Složky Gitu databricks pomáhají se správou verzí kódu a spolupráci a můžou zjednodušit import celého úložiště kódu do Azure Databricks, prohlížení předchozích verzí poznámkových bloků a integraci s vývojem integrovaného vývojového prostředí (IDE). Začněte klonováním vzdáleného úložiště Git. Potom můžete otevřít nebo vytvořit poznámkové bloky pomocí klonování úložiště, připojit poznámkový blok ke clusteru a spustit poznámkový blok.
Clustery a knihovny
Výpočetní prostředky Azure Databricks poskytují správu výpočetních prostředků pro clustery libovolné velikosti: od clusterů s jedním uzlem až po velké clustery. Hardware a knihovny clusteru můžete přizpůsobit podle svých potřeb. Datoví vědci obvykle začnou pracovat buď vytvořením clusteru , nebo použitím existujícího sdíleného clusteru. Jakmile budete mít přístup ke clusteru, můžete k clusteru připojit poznámkový blok nebo spustit úlohu v clusteru.
- U malých úloh, které vyžadují jenom jednotlivé uzly, můžou datoví vědci využít výpočetní prostředky s jedním uzlem a ušetřit tak náklady.
- Podrobné tipy najdete v tématu Doporučení ke konfiguraci výpočetních prostředků.
- Správci můžou nastavit zásady pro clustery, aby zjednodušili a usměrnili vytváření clusterů.
Clustery Azure Databricks používají Databricks Runtime, který poskytuje mnoho oblíbených knihoven, včetně Apache Spark, Delta Lake, pandas a dalších. Můžete také nainstalovat další knihovny třetích stran nebo vlastní knihovny Pythonu pro použití s poznámkovými bloky a úlohami.
- Začněte s výchozími knihovnami v poznámkách k verzi Databricks Runtime: verze a kompatibilita. Použití modulu Databricks Runtime pro strojové učení pro úlohy strojového učení Úplný seznam předinstalovaných knihoven najdete v poznámkách k verzi databricks Runtime a jejich kompatibilitu.
- Přizpůsobte si prostředí pomocí knihoven Pythonu s oborem poznámkových bloků, které umožňují upravovat poznámkové bloky nebo pracovní prostředí pomocí knihoven z PyPI nebo jiných úložišť. Magický příkaz
%pip install my_library
nainstalujemy_library
do všech uzlů ve vašem aktuálně připojeném clusteru, ale nezasahuje do jiných úloh na výpočetních prostředích se standardním režimem přístupu. - Podle potřeby nainstalujte knihovny jiné než Python jako knihovny clusteru.
- Další podrobnosti najdete v tématu Knihovny.
Vizualizace
Poznámkové bloky Pythonu v Azure Databricks mají integrovanou podporu pro mnoho typů vizualizací. Můžete také použít starší vizualizace.
Data můžete vizualizovat také pomocí knihoven třetích stran; Některé jsou předinstalované v prostředí Databricks Runtime, ale můžete také nainstalovat vlastní knihovny. Mezi oblíbené možnosti patří:
Úlohy
Úlohy Pythonu můžete automatizovat podle naplánovaných nebo aktivovaných úloh v Databricks. Úlohy můžou spouštět poznámkové bloky, skripty Pythonu a soubory kol Pythonu.
- Vytváření a aktualizace úloh pomocí uživatelského rozhraní
Databricks nebo rozhraní REST API Databricks . - Sada Databricks Python SDK umožňuje programově vytvářet, upravovat a odstraňovat úlohy.
- Rozhraní Databricks CLI poskytuje pohodlné uživatelské prostředí pro automatizaci úloh.
Tip
Pokud chcete místo poznámkového bloku naplánovat skript Pythonu, použijte pole spark_python_task
v rámci tasks
textu formuláře pro vytvoření úlohy.
Strojové učení
Databricks podporuje širokou škálu úloh strojového učení (ML), včetně tradičního strojového učení u tabulkových dat, hlubokého učení pro zpracování počítačového zpracování obrazu a přirozeného jazyka, systémů doporučení, analýzy grafů a dalších. Obecné informace o strojovém učení v Databricks najdete v tématu AI a strojové učení v Databricks.
Pro algoritmy ML můžete použít předem nainstalované knihovny v Databricks Runtime pro Machine Learning, které zahrnují oblíbené nástroje Pythonu, jako jsou scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib a XGBoost. Můžete také nainstalovat vlastní knihovny.
Pro operace strojového učení (MLOps) poskytuje Azure Databricks spravovanou službu pro opensourcovou knihovnu MLflow. Pomocí nástroje MLflow Tracking můžete zaznamenávat vývoj modelů a ukládat modely v opakovaně použitelných formátech. Registr modelů MLflow můžete použít ke správě a automatizaci povýšení modelů do produkčního prostředí. Úlohy a obsluha modelů umožňují hostování modelů jako dávkové a streamované úlohy a jako koncové body REST. Další informace a příklady najdete v MLflow pro životní cyklus agenta generativní AI a modelu ML nebo v dokumentaci k rozhraní Python API MLflow.
Pokud chcete začít s běžnými úlohami strojového učení, podívejte se na následující stránky:
- Trénování scikit-learn a sledování pomocí MLflow: 10minutový kurz: strojové učení v Databricks pomocí scikit-learn
- Trénování modelů hlubokého učení: Hluboké učení
- Ladění hyperparametrů: Paralelní provádění ladění hyperparametrů v Hyperoptu
- Analýza grafů: Jak používat GraphFrames v Azure Databricks
IdEs, vývojářské nástroje a sady SDK
Kromě vývoje kódu Pythonu v poznámkových blocích Azure Databricks můžete vyvíjet externě pomocí integrovaných vývojových prostředí (IDE), jako jsou PyCharm, Jupyter a Visual Studio Code. Pokud chcete synchronizovat práci mezi externími vývojovými prostředími a Databricks, existuje několik možností:
- Kód: Kód můžete synchronizovat pomocí Gitu. Viz Integrace Gitu pro složky Git v Databricks.
- Knihovny a úlohy: Knihovny (například soubory kol Pythonu) můžete vytvořit externě a nahrát je do Databricks. Tyto knihovny se můžou importovat do poznámkových bloků Databricks nebo je můžete použít k vytváření úloh. Podívejte se na Knihovny a Přehled orchestrací na Databricks.
- Vzdálené spuštění počítače: Kód můžete spustit z místního integrovaného vývojového prostředí (IDE) pro interaktivní vývoj a testování. Integrované vývojové prostředí (IDE) může komunikovat s Azure Databricks a spouštět Apache Spark a velké výpočty v clusterech Azure Databricks. Viz Databricks Connect.
Databricks poskytuje sadu sad SDK, včetně sady Python SDK, která podporuje automatizaci a integraci s externími nástroji. Sady SDK Databricks můžete použít ke správě prostředků, jako jsou clustery a knihovny, kód a další objekty pracovního prostoru, pracovní vytížení a úlohy, a další. Podívejte se na sady SDK Databricks.
Další informace o prostředích IDEs, vývojářských nástrojích a sadách SDK najdete v tématu místní vývojové nástroje.
Další materiály
- The Databricks Academy nabízí kurzy řízené instruktorem a vlastním tempem na mnoha tématech.
- Databricks Labs poskytuje nástroje pro vývoj v Pythonu na platformě Databricks, jako jsou pluginy pytest a pylint.
- Mezi funkce, které podporují interoperabilitu mezi PySparkem a knihovnou pandas, patří:
- Mezi nástroje pro připojení k databázi Python a SQL patří:
- Konektor SQL Databricks pro Python umožňuje pomocí kódu Pythonu spouštět příkazy SQL na prostředcích Azure Databricks.
- pyodbc umožňuje připojit se z místního kódu Pythonu prostřednictvím rozhraní ODBC k datům uloženým v Datovém jezeře Databricks.
- Nejčastější dotazy a tipy pro přesun úloh Pythonu do Databricks najdete ve znalostní bázi Databricks.