Představení Azure Databricks
Cíle kapitoly
- Vysvětlit, co je Azure Databricks, jak se vztahuje k Azure a jak vzniká workspace.
- Rozlišit tři hlavní workloady platformy — data engineering, SQL analytiku a ML/AI.
- Popsat klíčové koncepty: workspace, notebook, cluster, SQL warehouse, DBFS vs. volumes, lakehouse a Delta Lake.
- Vysvětlit roli Unity Catalog a Microsoft Purview v data governance.
- Zorientovat se ve workspace UI a provést první kroky v notebooku (Lab 1).
Co je Azure Databricks a jak vzniká workspace
Azure Databricks je cloudová analytická platforma postavená na Apache Spark, provozovaná jako first-party služba přímo v Azure — platíte ji přes azurové předplatné, přihlašujete se přes Microsoft Entra ID a integruje se s Azure Data Lake Storage, Key Vault či Power BI. Není to tedy „Spark, který si musíte sami nainstalovat", ale spravovaná platforma pokrývající celý životní cyklus dat: ingesti, transformace, SQL analytiku i machine learning.
Základní jednotkou nasazení je workspace — izolované prostředí pro definovanou skupinu uživatelů, ve kterém žijí notebooky, clustery, joby i data. Workspace vytvoříte v Azure portálu, nebo automatizovaně přes ARM/Bicep/Terraform šablonu, Azure CLI či PowerShell:
# vytvoreni workspace pres Azure CLI az databricks workspace create \ --resource-group rg-dp750 \ --name dbw-citymoves \ --location westeurope \ --sku premium
# vytvoreni workspace pres Azure PowerShell New-AzDatabricksWorkspace -Name dbw-citymoves ` -ResourceGroupName rg-dp750 ` -Location westeurope ` -ManagedResourceGroupName rg-dbw-managed ` -Sku premium
Při vytváření volíte region, pricing tier a nově i typ workspace:
| Parametr | Možnosti | Poznámka |
|---|---|---|
| Pricing tier | Premium / Trial (14 dní) | Premium = RBAC, Unity Catalog, Databricks SQL, serverless, Mosaic AI |
| Typ workspace | Serverless / Hybrid (Classic) | Serverless: compute i storage spravuje Databricks — doporučeno pro většinu případů; Hybrid: compute ve vašem předplatném (vlastní síť, on-premises konektivita) |
| Managed Resource Group | volitelný název | Azure v ní automaticky spravuje infrastrukturu workspace |
Orientace ve workspace UI
Z Azure portálu se do workspace dostanete tlačítkem Launch Workspace. Workspace UI je webové rozhraní, kde vytváříte a spravujete všechny objekty — notebooky, dotazy, clustery, joby. Levý sidebar má společnou část (Workspace, Recents, Catalog, Jobs & Pipelines, Compute, Marketplace) a pak sekce podle produktových oblastí:
| Oblast | Položky v sidebaru |
|---|---|
| SQL | SQL Editor, Queries, Dashboards, Genie, Alerts, Query History, SQL Warehouses |
| Data Engineering | Job Runs, Data Ingestion |
| Machine Learning | Playground, Experiments, Features, Models, Serving |
Tlačítko + New je univerzální vstup pro vytváření objektů (notebook, query, job, pipeline, experiment) i compute zdrojů (cluster, SQL warehouse). Horní vyhledávání prohledává vše na jednom místě: notebooky, tabulky registrované v Unity Catalog, dashboardy, joby i repozitáře.
Součástí platformy je Databricks Assistant — v aktuálním UI nahrazený nástupnickým agentním produktem Genie Code — AI párový programátor integrovaný přímo v notebooku, dashboardech a editoru souborů. Generuje, vysvětluje a opravuje kód, diagnostikuje chyby jobů a umí odpovídat na dotazy v přirozeném jazyce. Díky metadatům z Unity Catalog zná názvy vašich tabulek a sloupců, takže návrhy odpovídají vašim datům, ne obecným příkladům.
Settings → záložka Preferences. Na kurzu doporučujeme nechat angličtinu — sedí na dokumentaci i na zkouškové otázky.Tři workloady jedné platformy
Azure Databricks pokrývá tři hlavní typy práce s daty nad jednou kopií dat a jedním governance modelem. To je hlavní pointa lakehouse přístupu: data inženýr, analytik i data scientist pracují nad stejnými Delta tabulkami — nekopíruje se nic do odděleného DWH ani do ML sandboxu.
Data engineering je jádro tohoto kurzu: kolaborativní vývoj datových pipeline nad Sparkem v jazycích Python, R, Scala a SQL — od průzkumu dat přes transformace až po orchestraci produkčních jobů. SQL workload cílí na analytiky: SQL Editor, dashboardy a automatické vizualizace běžící nad SQL warehouses — compute optimalizovaným čistě pro SQL dotazy. Machine learning workload přidává MLflow pro správu životního cyklu modelů, podporu frameworků jako TensorFlow, PyTorch či scikit-learn a nástroje pro generativní AI.
Klíčové koncepty: architektura, compute, notebooky
Azure Databricks má dvouvrstvou architekturu. Control plane je interní vrstva spravovaná Microsoftem/Databricks — běží v ní workspace UI, REST API, orchestrace jobů a metadata. Compute plane je vrstva, která skutečně zpracovává data: u classic compute běží virtuální stroje clusterů ve vašem Azure předplatném (uvidíte je v managed resource group), u serverless compute běží v předplatném Databricks a ve vašem předplatném se neobjeví nic.
Cluster je výpočetní motor: driver node koordinuje běh a worker nodes provádějí distribuované výpočty; počet workerů může být fixní, nebo řízený autoscalingem. Vedle clusterů existují SQL warehouses — compute oddělený od storage a optimalizovaný pro SQL (serverless, pro a classic varianty). Detailní volbě a konfiguraci compute se věnuje celá kapitola 2.
Notebook je interaktivní dokument kombinující spustitelný kód, vizualizace a text. Skládá se z code cells a Markdown cells; jazyky lze míchat v jednom notebooku pomocí magic commands:
# bunka 1 — vychozi jazyk notebooku je Python df = spark.read.csv("/Volumes/main/default/lab_data/routes.csv", header=True, inferSchema=True) display(df) # bunka 2 — prepnuti na SQL pomoci magic commandu %sql SELECT route_type, COUNT(*) AS pocet FROM csv.`/Volumes/main/default/lab_data/routes.csv` GROUP BY route_type; # bunka 3 — dokumentace v Markdownu %md ## CityMoves Transit — pruzkum dat o linkach
Kód na clusteru vykonává Databricks Runtime — upravený build Apache Spark s výkonovými optimalizacemi a předinstalovanými knihovnami. Verze runtime procházejí životním cyklem (Legacy → Deprecated → End of Support → End of Life); pro produkci se drží LTS verze. Orchestraci zajišťují Lakeflow Jobs: job je kontejner pro jednu či více tasks (notebook, Spark job, externí kód…) spouštěných podle plánu, na událost nebo ručně.
DBFS (Databricks File System) je historická abstrakce nad objektovým úložištěm dostupná přes cesty dbfs:/. Její kořen (DBFS root) je dnes považován za legacy: nemá governance přes Unity Catalog a Databricks pro ukládání dat doporučuje jiné mechanismy. Volumes jsou naopak objekty Unity Catalogu pro ne-tabulková data (soubory CSV, obrázky, modely…) — mají plné řízení přístupu, audit a jednotné cesty /Volumes/<catalog>/<schema>/<volume>/.
| DBFS root (legacy) | UC volume | |
|---|---|---|
| Governance | žádná (workspace-level) | Unity Catalog: granty, audit, lineage |
| Cesta | dbfs:/FileStore/… | /Volumes/catalog/schema/volume/… |
| Doporučení | nepoužívat pro nová data | standard pro soubory v lakehouse |
Kdo přechází ze starších kurzů DP-203: všude, kde jste dřív nahrávali do /FileStore, dnes nahráváte do volume. Přesný stav omezení DBFS ověřte v dokumentaci.
Lakehouse a Delta Lake
Lakehouse je architektura kombinující levné a škálovatelné úložiště data lake s vlastnostmi datového skladu — transakcemi, schématy a governance. Umožňuje to Delta Lake: open-source storage framework, který nad objektovým úložištěm (Azure Data Lake Storage) přidává transakční vrstvu. Data se typicky organizují do vrstev tzv. medallion architektury:
Klasické data lakes trpěly nekonzistentními daty, částečnými zápisy a problémy se souběžným přístupem. Delta Lake tohle řeší čtyřmi pilíři:
- ACID transakce — spolehlivé čtení i zápis, žádné poloviční soubory po spadlém jobu.
- Škálovatelná metadata — tabulky s miliardami souborů bez degradace výkonu.
- Verzování a time travel — dotaz na historický stav tabulky, rollback po chybném zápisu.
- Sjednocený batch a streaming — tatáž tabulka slouží real-time ingesti i historickým dávkám.
Nad tímto základem poskytují Delta tables běžnou tabulkovou abstrakci pro SQL i DataFrame API. Dokumentace: „Delta tables are the default table format in Azure Databricks" — když v Databricks vytvoříte tabulku a neřeknete jinak, je to Delta:
-- CREATE TABLE bez USING = automaticky Delta CREATE TABLE main.default.routes AS SELECT * FROM read_files('/Volumes/main/default/lab_data/routes.csv'); -- historie zmen tabulky (time travel) DESCRIBE HISTORY main.default.routes; -- dotaz na starsi verzi SELECT * FROM main.default.routes VERSION AS OF 2;
Data governance: Unity Catalog a Microsoft Purview
Data v organizacích bývají roztříštěná napříč databázemi, sklady a lakes, v různých formátech — a vedle tabulek je třeba spravovat i soubory, ML modely, notebooky či dashboardy. Unity Catalog na to odpovídá centralizovanou správou přístupu, vyhledávání, lineage, auditních logů a monitoringu kvality napříč všemi workspaces v regionu.
Vrcholem hierarchie je metastore — kontejner metadat a oprávnění, typicky jeden na region, sdílený více workspaces. Datové objekty se adresují třemi úrovněmi:
-- tri urovne: catalog.schema.objekt SELECT * FROM citymoves.transit.routes; -- opravneni se ridi ANSI SQL granty GRANT CREATE TABLE ON SCHEMA citymoves.transit TO `data-engineers`; GRANT SELECT ON TABLE citymoves.transit.routes TO `analysts`;
- Catalog — nejvyšší úroveň, typicky podle týmu nebo prostředí (dev/test/prod).
- Schema (database) — jemnější členění podle projektu či use case.
- Objekty — tabulky (managed/external), views, volumes, funkce a ML modely.
U managed tables spravuje Unity Catalog governance i samotné úložiště (formát Delta Lake jako výchozí, podporován je i Apache Iceberg). U external tables řídí jen přístup z Databricks — životní cyklus dat je venku a formát může být i CSV, JSON či Parquet. Oprávnění lze udělovat od metastoru přes catalog a schema až po řádky a sloupce; k objevování slouží Catalog Explorer s tagy, komentáři, AI popisky a lineage až na úroveň sloupců.
Microsoft Purview pak řeší governance nad rámec Databricks: je to celofiremní katalog pokrývající on-premises systémy, více cloudů i SaaS platformy. Integrace s Unity Catalogem umí ingestovat metadata lakehouse do Purview Data Map, takže máte jeden pohled na data napříč celým prostředím.
- Skenovat workspace v public i private síti (managed integration runtime).
- Skenovat celý Unity Catalog metastore, nebo jen vybrané catalogy; navíc i workspace-level Hive metastore.
- Extrahovat metadata: metastore, catalogy, schémata, tabulky/views, sloupce.
- Automaticky klasifikovat citlivá data podle vestavěných i vlastních pravidel.
- Sledovat lineage — jak se data transformují a přesouvají napříč systémy včetně Databricks.
- Běžet on-demand nebo plánovaně (denně/týdně/měsíčně).
Lab 1: Explore Azure Databricks (30 minut)
V roli nového data engineera dopravního podniku CityMoves Transit si projdete workspace UI, vytvoříte Unity Catalog volume lab_data, nahrajete do něj dataset routes.csv a v notebooku nad serverless compute vyzkoušíte Python, SQL magic commands, Markdown a Databricks Assistant (Genie Code).
▶ Otevřít lab na GitHubu (EN) · Learn modul k tématu — s krátkými výukovými videy
routes.csv nahráli do UC volume, a ne do DBFS? 3) Jakým magic commandem přepnete buňku Python notebooku do SQL a jakým do Markdownu?