Vysvětlení klíčových konceptů
Azure Databricks je jedna platforma služeb s několika technologiemi, které umožňují pracovat s daty ve velkém měřítku. Při použití Azure Databricks existuje několik klíčových konceptů, které je potřeba pochopit.
Pracovní prostory
Pracovní prostor v Azure Databricks je zabezpečené prostředí pro spolupráci, kde máte přístup ke všem prostředkům Databricks, jako jsou poznámkové bloky, clustery, úlohy, knihovny, řídicí panely a experimenty.
Pracovní prostor Azure Databricks můžete otevřít na webu Azure Portal výběrem možnosti Spustit pracovní prostor.
Poskytuje webové uživatelské rozhraní a rozhraní REST API pro správu prostředků a pracovních postupů. Pracovní prostory je možné strukturovat do složek za účelem uspořádání projektů, datových kanálů nebo týmových prostředků a oprávnění se dají použít na různých úrovních pro řízení přístupu. Podporují spolupráci tím, že umožňují více uživatelům, jako jsou datoví inženýři, analytici a datoví vědci, spolupracovat na sdílených poznámkových blocích, sledovat experimenty a spravovat závislosti.
Pracovní prostory jsou navíc svázané s katalogem Unity (pokud je povoleno) pro centralizované zásady správného řízení dat a zajišťují zabezpečený přístup k datům v celé organizaci. Každý pracovní prostor je také propojený s podkladovou skupinou prostředků Azure (včetně spravované skupiny prostředků), která obsahuje výpočetní prostředky, sítě a prostředky úložiště, které Databricks používá na pozadí.
Notebooks
Poznámkové bloky Databricks jsou interaktivní webové dokumenty, které kombinují spustitelný kód, vizualizace a text vyprávění v jednom prostředí. Podporují více jazyků, jako jsou Python, R, Scala a SQL, a umožňují uživatelům přepínat mezi jazyky ve stejném poznámkovém bloku pomocí příkazů magic. Díky této flexibilitě jsou poznámkové bloky vhodné pro průzkumnou analýzu dat, vizualizaci dat, experimenty strojového učení a vytváření složitých datových kanálů.
Poznámkové bloky jsou také navržené pro spolupráci: více uživatelů může upravovat a spouštět buňky současně, přidávat komentáře a sdílet přehledy v reálném čase. Úzce se integrují s clustery Databricks a umožňují uživatelům efektivně zpracovávat velké datové sady a můžou se připojit k externím zdrojům dat prostřednictvím katalogu Unity pro řízený přístup k datům. Poznámkové bloky mohou být kromě toho pod kontrolou verzí, lze plánovat jako úlohy nebo exportovat pro sdílení mimo platformu, což je klíčové jak pro průzkumy typu ad-hoc, tak pro workflow produkční úrovně.
Poznámkové bloky obsahují kolekci dvou typů buněk: buňky kódu a buňky Markdownu. Buňky kódu obsahují spustitelný kód. Buňky Markdownu obsahují kód Markdownu, který se vykreslí jako text a grafika. Můžete spustit jednu buňku, skupinu buněk nebo celý poznámkový blok.
Clusters
Azure Databricks využívá dvouvrstvé architektury:
- Řídicí rovina: tato interní vrstva spravovaná Microsoftem zpracovává back-endové služby specifické pro váš účet Azure Databricks.
- Výpočetní rovina: jedná se o externí vrstvu, která zpracovává data a žije ve vašem předplatném Azure.
Clustery jsou základní výpočetní moduly v Azure Databricks. Poskytují výpočetní výkon potřebný ke spouštění úloh přípravy dat, datových věd a analýz. Každý cluster se skládá z uzlu ovladače, který koordinuje provádění, a jednoho nebo více pracovních uzlů, které zpracovávají distribuované výpočty. Clustery lze vytvořit ručně s pevnými prostředky nebo nastavit k automatickému škálování, což umožňuje Databricks přidávat nebo odebírat pracovní uzly podle poptávky pracovního zatížení. Tato flexibilita zajišťuje efektivní využití prostředků a řízení nákladů.
Azure Databricks Compute nabízí širokou škálu možností výpočetních prostředků dostupných pro různé typy úloh:
- Bezserverové výpočetní prostředky: Plně spravované výpočetní prostředky na vyžádání, které se automaticky škálují nahoru nebo dolů podle potřeb úloh. Ideální pro týmy, které chtějí rychlé spouštění, minimální režii na správu a elastické škálování.
- Klasické výpočetní prostředí: Zřizované a nakonfigurované clustery, které nabízejí úplnou kontrolu nad nastavením výpočetních prostředků, jako jsou velikosti virtuálních počítačů, knihovny a verze modulu runtime. Nejvhodnější pro specializované úlohy, které vyžadují přizpůsobení nebo konzistentní výkon.
- SQL Warehouses: Výpočetní prostředky optimalizované pro analýzy založené na SQL a dotazy BI. Sql Warehouse je možné zřídit jako bezserverové (elastické, spravované) nebo klasické (nakonfigurované uživatelem) v závislosti na požadavcích na zásady správného řízení a výkonu.
To vám umožní přizpůsobit výpočetní kapacity konkrétním požadavkům – od průzkumné analýzy v poznámkových blocích po rozsáhlé ETL kanály a vysoce výkonné řídicí panely a sestavy.
Databricks Runtime
Databricks Runtime je sada přizpůsobených buildů Apache Sparku, které zahrnují vylepšení výkonu a další knihovny. Tyto moduly runtime usnadňují zpracování úloh, jako jsou strojové učení, zpracování grafů a genomiky, a zároveň podporují obecné zpracování a analýzy dat.
Databricks poskytuje několik verzí modulu runtime, včetně dlouhodobých verzí podpory (LTS). Každá verze určuje podkladovou verzi Apache Sparku, datum vydání a ukončení podpory. Starší verze modulu runtime v průběhu času sledují životní cyklus:
- Starší verze – k dispozici, ale už se nedoporučuje.
- Zastaralé – označeno k odebrání v budoucí verzi.
- Konec podpory (EoS) – nejsou k dispozici žádné další záplaty ani opravy.
- Konec životnosti (EoL) – vyřazeno a už není k dispozici.
Pokud je aktualizace údržby vydaná pro verzi modulu runtime, kterou používáte, můžete ji použít restartováním clusteru.
Úlohy Lakeflow
Úlohy Lakeflow poskytují automatizaci a orchestraci pracovních postupů v Azure Databricks, což umožňuje spolehlivě plánovat, koordinovat a spouštět úlohy zpracování dat. Místo ručního spouštění kódu můžete pomocí úloh automatizovat opakované nebo produkční úlohy, jako jsou kanály ETL, trénování strojového učení nebo aktualizace řídicího panelu.
Úloha v Databricks je v podstatě kontejner pro jeden nebo více úkolů. Úkoly definují práci, která se má provést – například spuštění poznámkového bloku, spuštění úlohy Sparku, volání externího kódu, ...
Úlohy se dají aktivovat různými způsoby:
- Podle plánu (například každou noc o půlnoci).
- V reakci na událost.
- Ručně v případě potřeby.
Vzhledem k tomu, že jsou opakovatelné a spravované, jsou úlohy kritické pro produkční úlohy. Zajišťují, aby datové kanály běžely konzistentně, modely ML se trénují a nasazují kontrolovaným způsobem a podřízené systémy přijímají aktualizovaná a přesná data.
Delta Lake
Delta Lake je opensourcová architektura úložiště, která zlepšuje spolehlivost a škálovatelnost datových jezer přidáním transakčních funkcí do cloudového úložiště objektů, jako je Azure Data Lake Storage. Tradiční datová jezera můžou mít problémy, jako jsou nekonzistentní data, částečné zápisy nebo potíže se správou souběžného přístupu. Delta Lake řeší tyto problémy podporou:
- Transakce ACID (atomicita, konzistence, izolace, stálost) pro spolehlivé čtení a zápisy.
- Škálovatelné zpracování metadat , aby se tabulky mohly zvětšit až na miliardy souborů bez ztráty výkonu.
- Zpracování verzí dat a obnova, což umožňuje časové dotazy a obnovení předchozích stavů.
- Jednotné dávkové zpracování a zpracování streamování, takže stejná tabulka dokáže zpracovat příjem dat v reálném čase a historické dávkové načtení.
Nad tímto základem poskytují tabulky Delta známou abstrakci tabulek, které usnadňují práci se strukturovanými daty pomocí dotazů SQL nebo rozhraní DATAFrame API. Tabulky Delta jsou výchozím formátem tabulky v Azure Databricks a zajišťují, aby se nová data ve výchozím nastavení ukládala s transakčními zárukami.
Databricks SQL
Databricks SQL přináší do Databricks Lakehouse funkce datových skladů , což analytikům a podnikovým uživatelům umožňuje dotazovat a vizualizovat data uložená v otevřených formátech přímo v datovém jezeře. Podporuje ANSI SQL, takže každý, kdo je obeznámen s SQL, může spouštět dotazy, vytvářet sestavy a vytvářet řídicí panely, aniž by se museli učit nové jazyky nebo nástroje.
Databricks SQL je k dispozici pouze na úrovni Premium služby Azure Databricks. Patří mezi ně:
- Editor SQL pro psaní a spouštění dotazů.
- Řídicí panely a vizualizační nástroje pro sdílení přehledů
- Integrace s externími nástroji BI a analytickými nástroji
SQL Warehouses
Všechny dotazy SQL Databricks běží ve službě SQL Warehouse (dříve označované jako koncové body SQL), které jsou škálovatelné výpočetní prostředky oddělené od úložiště. Různé typy skladů jsou k dispozici v závislosti na požadavcích na výkon, náklady a správu:
Bezserverové služby SQL Warehouse
- Okamžité a elastické výpočetní prostředky s rychlým spouštěním a automatickým škálováním
- Nízké náklady na správu, protože Databricks zpracovává kapacitu, opravy a optimalizaci.
- Nákladová efektivita díky automatickému škálování a zabránění nečinným nákladům na prostředky
Pro SQL Warehouses
- Přizpůsobitelnější, ale pomalejší spuštění (≈4 minut).
- Méně responzivní automatické škálování v porovnání s bezserverovou službou
- Užitečné v případě, že jsou vyžadovány konzistentní předvídatelné úlohy.
Klasické služby SQL Warehouse
- Výpočetní prostředky běží ve vašem vlastním předplatném Azure, ne v Databricks.
- Méně flexibilní než bezserverová, ale může být upřednostňovaná pro konkrétní požadavky na zásady správného řízení nebo správu nákladů.
MLflow
MLflow je opensourcová platforma navržená pro správu kompletního životního cyklu strojového učení (ML). Pomáhá datovým vědcům a technikům STROJOVÉho učení sledovat experimenty, spravovat modely a zjednodušit proces přesunu modelů od vývoje do produkčního prostředí. MLflow také podporuje generující pracovní postupy AI a zahrnuje nástroje pro vyhodnocování a zlepšování agentů AI.