Sdílet prostřednictvím


Co jsou tabulky Delta Live?

Poznámka:

Delta Live Tables vyžaduje plán Premium. Další informace získáte od týmu účtu Databricks.

Delta Live Tables je deklarativní architektura navržená tak, aby zjednodušila vytváření spolehlivých a udržovatelných kanálů extrakce, transformace a načítání (ETL). Určíte, jaká data se mají ingestovat a jak je transformovat, a Delta Live Tables automatizuje klíčové aspekty správy datového kanálu, včetně orchestrace, správy výpočetních prostředků, monitorování, vynucení kvality dat a zpracování chyb.

Delta Live Tables je založená na Apache Sparku, ale místo definování datových kanálů pomocí řady samostatných úloh Apache Sparku definujete streamované tabulky a materializovaná zobrazení, která by systém měl vytvořit, a dotazy potřebné k naplnění a aktualizaci těchto streamovaných tabulek a materializovaných zobrazení.

Další informace o výhodách vytváření a spouštění kanálů ETL pomocí delta živých tabulek najdete na stránce produktu Delta Live Tables.

Výhody Delta Live Tables ve srovnání s Apache Sparkem

Apache Spark je univerzální opensourcový jednotný analytický modul, včetně ETL. Delta Live Tables staví na Sparku, aby řešily specifické a běžné úlohy zpracování ETL. Delta Live Tables můžou výrazně urychlit vaši cestu k produkci, pokud vaše požadavky zahrnují tyto úlohy zpracování, mezi které patří:

  • Ingestování dat z typických zdrojů
  • Přírůstková transformace dat
  • Provádění zachytávání dat změn (CDC)

Živé tabulky Delta však nejsou vhodné pro implementaci některých typů procedurální logiky. Například požadavky na zpracování, jako je zápis do externí tabulky nebo zahrnutí podmíněného fungování s externím úložištěm souborů nebo databázovými tabulkami, nelze provádět uvnitř kódu definující datovou sadu Delta Live Tables. Pokud chcete implementovat zpracování, které Delta Live Tables nepodporují, Databricks doporučuje použít Apache Spark nebo zahrnout datový kanál do úlohy Databricks, která provádí zpracování v samostatném úkolu. Podívejte se na úlohu v rámci kanálu Delta Live Tables pro úlohy.

Následující tabulka porovnává tabulky Delta Live s Apache Sparkem:

Schopnost Delta Live Tables Apache Spark
Transformace dat Data můžete transformovat pomocí SQL nebo Pythonu. Data můžete transformovat pomocí SQL, Pythonu, Scaly nebo R.
Přírůstkové zpracování dat Mnoho transformací dat se automaticky zpracovává přírůstkově. Musíte určit, jaká data jsou nová, abyste je mohli přírůstkově zpracovat.
Orchestrace Transformace se automaticky orchestrují ve správném pořadí. Je nutné zajistit, aby se různé transformace spouštěly ve správném pořadí.
Rovnoběžnost Všechny transformace se spouští se správnou úrovní paralelismu. Pokud chcete paralelně spouštět nesouvisející transformace, musíte použít vlákna nebo externí orchestrátor.
Zpracování chyb Selhání se automaticky opakuje. Musíte se rozhodnout, jak zpracovávat chyby a opakování.
Monitorování Metriky a události se protokolují automaticky. Je nutné napsat kód pro shromažďování metrik o provádění nebo kvalitě dat.

klíčové koncepty dynamických tabulek Delta

Následující obrázek znázorňuje důležité součásti zpracovávacího řetězce Delta Live Tables, následované vysvětlením každé součásti.

klíčové koncepty Delta Live Tables.

tabulka streamování

Streamovaná tabulka je tabulka Delta, do které jeden nebo více datových proudů zapisuje. Průběžné tabulky se běžně používají k příjmu dat, protože zpracovávají vstupní data přesně jednou a mohou zpracovávat velké objemy dat pouze pro přidávání. Streamované tabulky jsou také užitečné pro transformaci datových proudů s vysokou latencí.

Materializované zobrazení

Materializované zobrazení je zobrazení, které obsahuje předpočítané záznamy na základě dotazu, který definuje materializované zobrazení. Záznamy v materializovaném zobrazení se automaticky aktualizují pomocí Delta Live Tables na základě plánu aktualizace nebo aktivačních událostí pipeliny. Při každé aktualizaci materializovaného zobrazení je zaručeno, že budou mít stejné výsledky jako spuštění definující dotaz na nejnovější dostupná data. To se však často provádí bez opětovného přepočítání celkového výsledku od začátku pomocí přírůstkové aktualizace. Materializovaná zobrazení se běžně používají pro transformace.

Pohledy

Všechna zobrazení ve službě Azure Databricks vypočítávají výsledky ze zdrojových datových sad při dotazování a využívají optimalizaci ukládání do mezipaměti, pokud jsou k dispozici. Delta Live Tables nepublikuje zobrazení do katalogu, takže na zobrazení lze odkazovat pouze v pipeline, ve kterém jsou definována. Zobrazení jsou užitečná jako přechodné dotazy, které by neměly být vystaveny koncovým uživatelům nebo systémům. Databricks doporučuje používat zobrazení k vynucení omezení kvality dat nebo transformaci a rozšiřování datových sad, které řídí více podřízených dotazů.

Potrubí

Pipeline je kolekce streamovaných tabulek a materializovaných zobrazení, která se aktualizují synchronně. Tyto streamované tabulky a materializovaná zobrazení jsou deklarovány ve zdrojových souborech Pythonu nebo SQL. Kanál obsahuje také konfiguraci, která definuje výpočetní prostředky používané k aktualizaci streamovaných tabulek a materializovaných zobrazení při spuštění kanálu. Podobně jako šablona Terraformu definuje infrastrukturu ve vašem cloudovém účtu, pipeline Delta Live Tables definuje datové sady a transformace pro zpracování dat.

Jak datové sady Delta Live Tables zpracovávají data?

Následující tabulka popisuje, jak materializovaná zobrazení, streamované tabulky a pohledy zpracovávají data:

Typ datové sady Jak se zpracovávají záznamy prostřednictvím definovaných dotazů?
Streamovaná tabulka Každý záznam se zpracuje přesně jednou. To předpokládá zdroj jen pro připojení.
Materializované zobrazení Záznamy se zpracovávají tak, aby vracely přesné výsledky pro aktuální stav dat. Materializovaná zobrazení by se měla používat pro úlohy zpracování dat, jako jsou transformace, agregace nebo předpočítací pomalé dotazy a často používané výpočty.
Zobrazení Záznamy se zpracovávají pokaždé, když se zobrazení dotazuje. Zobrazení slouží k přechodným transformacím a kontrolám kvality dat, které by se neměly publikovat do veřejných datových sad.

Deklarujte své první datové sady v Delta Live Tables

Delta Live Tables zavádí novou syntaxi pro Python a SQL. Základní informace o syntaxi kanálu najdete v tématu Vývoj kódu kanálu pomocí Pythonu a vývoje kódu kanálu pomocí SQL.

Poznámka:

Delta Live Tables odděluje definice datových sad od zpracování aktualizací a poznámkové bloky Delta Live Tables nejsou určené pro interaktivní spouštění.

Jak konfigurujete kanály Delta Live Tables?

Nastavení kanálů Delta Live Tables spadají do dvou obecných kategorií:

  1. Konfigurace, které definují kolekci poznámkových bloků nebo souborů (označovaných jako zdrojový kód), které k deklaraci datových sad používají syntaxi Delta Live Tables.
  2. Konfigurace, které řídí infrastrukturu kanálů, správu závislostí, zpracování aktualizací a způsob ukládání tabulek v pracovním prostoru.

Většina konfigurací je volitelná, ale některé vyžadují pečlivou pozornost, zejména při konfiguraci produkčních kanálů. Patří mezi ně následující:

  • Pokud chcete zpřístupnit data mimo kanál, musíte deklarovat cílové schéma k publikování do katalogu Hive Metastore nebo cílový katalog a cílové schéma k publikování do katalogu Unity.
  • Oprávnění pro přístup k datům se konfigurují prostřednictvím clusteru používaného ke spuštění. Ujistěte se, že váš cluster má nakonfigurovaná příslušná oprávnění pro zdroje dat a cílové umístění úložiště , pokud je zadáno.

Podrobnosti o použití jazyka Python a SQL k zápisu zdrojového kódu pro datové toky najdete v referenční příručce pro jazyk SQL Delta Live Tables a referenční příručce pro jazyk Python Delta Live Tables.

Další informace o nastavení a konfiguracích kanálu najdete v tématu Konfigurace kanálu Delta Live Tables.

Nasazení prvního kanálu a aktivace aktualizací

Před zpracováním dat pomocí Delta Live Tables je nutné nakonfigurovat datový tok. Po nakonfigurování kanálu můžete aktivovat aktualizaci pro výpočet výsledků pro každou datovou sadu v kanálu. Pokud chcete začít používat kanály Delta Live Tables, přečtěte si kurz: Spuštění prvního kanálu dynamických tabulek Delta.

Co je aktualizace pipeline?

Potrubí nasazují infrastrukturu a přepočítají stav dat při spuštění aktualizace. Aktualizace provede následující:

  • Spustí cluster se správnou konfigurací.
  • Vyhledá všechny definované tabulky a zobrazení a vyhledá všechny chyby analýzy, jako jsou neplatné názvy sloupců, chybějící závislosti a chyby syntaxe.
  • Vytvoří nebo aktualizuje tabulky a zobrazení s nejnovějšími dostupnými daty.

Kanály se můžou spouštět nepřetržitě nebo podle plánu v závislosti na požadavcích na náklady a latenci vašeho případu použití. Viz Spuštění aktualizace v kanálu Delta Live Tables.

Načítání dat pomocí Delta Live Tables

Delta Live Tables podporuje všechny zdroje dat dostupné v Azure Databricks.

Databricks doporučuje používat streamované tabulky pro většinu případů příjmu dat. Pro soubory přicházející do cloudového úložiště objektů doporučuje Databricks automatický zavaděč. Data můžete přímo ingestovat pomocí Delta Live Tables z většiny sběrnic zpráv.

Další informace o konfiguraci přístupu ke cloudovému úložišti najdete v tématu Konfigurace cloudového úložiště.

U formátů, které automatické zavaděče nepodporuje, můžete k dotazování libovolného formátu podporovaného Apache Sparkem použít Python nebo SQL. Viz Načtení dat pomocí Delta Live Tables.

Monitorování a vynucování kvality dat

Pomocí očekávání můžete určit ovládací prvky kvality dat v obsahu datové sady. Na rozdíl od omezení CHECK v tradiční databázi, které zabraňuje přidání záznamů, jež nevyhovují omezení, poskytují očekávání flexibilitu při zpracování dat, která nesplňují nároky na kvalitu dat. Tato flexibilita umožňuje zpracovávat a ukládat data, která očekáváte, že budou nepořádná a data, která musí splňovat přísné požadavky na kvalitu. Viz Spravujte kvalitu dat pomocí požadavků na datový potrubí.

Delta Live Tables rozšiřuje funkce Delta Lake. Vzhledem k tomu, že tabulky vytvořené a spravované službou Delta Live Tables jsou tabulky Delta, mají stejné záruky a funkce, které poskytuje Delta Lake. Podívejte se, co je Delta Lake?

Delta Live Tables přidává několik vlastností tabulky kromě mnoha vlastností tabulky, které lze nastavit v Delta Lake. Viz odkaz na vlastnosti Delta Live Tables a odkaz na vlastnosti tabulky Delta.

Jak se tabulky vytvářejí a spravují pomocí Delta Live Tables

Azure Databricks automaticky spravuje tabulky vytvořené pomocí Delta Live Tables, určuje, jak je potřeba zpracovat aktualizace, aby bylo možné správně vypočítat aktuální stav tabulky, a provádí řadu úkolů údržby a optimalizace.

U většiny operací byste měli povolit, aby dynamické tabulky Delta zpracovávaly všechny aktualizace, vkládání a odstranění do cílové tabulky. Podrobnosti a omezení najdete v tématu Zachování ručních odstranění nebo aktualizací.

Úlohy údržby prováděné dynamickými tabulkami Delta

Delta Live Tables provádí úlohy údržby do 24 hodin od aktualizace tabulky. Údržba může zlepšit výkon dotazů a snížit náklady odebráním starých verzí tabulek. Ve výchozím nastavení systém provádí úplnou OPTIMIZE operaci následovanou VACUUM. Funkci OPTIMIZE pro tabulku můžete zakázat nastavením pipelines.autoOptimize.managed = false ve vlastnostech tabulky. Úlohy údržby se provádějí pouze v případě, že se aktualizace kanálu spustila v průběhu 24 hodin před naplánováním úloh údržby.

Omezení

Seznam omezení najdete v tématu Omezení Delta Live Tables.

Seznam požadavků a omezení specifických pro používání dynamických tabulek Delta s katalogem Unity najdete v tématu Použití katalogu Unity s kanály Delta Live Tables

Další materiály