Sdílet prostřednictvím


Jaká je architektura jezera v medailiónu?

Architektura medailonu popisuje řadu datových vrstev, které označují kvalitu dat uložených v jezeře. Azure Databricks doporučuje použít vícevrstvý přístup k vytvoření jediného zdroje pravdivých informací pro podnikové datové produkty.

Tato architektura zaručuje atomicitu, konzistenci, izolaci a odolnost při průchodu dat několika vrstvami ověření a transformací před uložením v rozložení optimalizovaném pro efektivní analýzu. Termíny bronzová (nezpracovaná), stříbro (ověřeno) a zlato (obohacené) popisují kvalitu dat v každé z těchto vrstev.

Architektura Medallion jako vzor návrhu dat

Architektura medailonu je vzor návrhu dat používaný k logickému uspořádání dat. Jejím cílem je postupně a progresivně zlepšovat strukturu a kvalitu dat při průchodu každou vrstvou architektury (od bronzové ⇒ stříbrné ⇒ zlaté vrstvy tables). Architektury medallionu se někdy označují také jako architektury s více segmenty směrování.

Díky postupu dat v těchto vrstvách můžou organizace přírůstkově zlepšit kvalitu a spolehlivost dat, což je vhodnější pro aplikace business intelligence a strojového učení.

Po architektuře medailonu se doporučuje osvědčený postup, ale není to požadavek.

Otázka Bronzový Silver Gold
Co se stane v této vrstvě? Příjem nezpracovaných dat Čištění a ověřování dat Dimenzionální modelování a agregace
Kdo je zamýšlený uživatel? - Datoví inženýři
- Operace s daty
– Týmy pro dodržování předpisů a audit
- Datoví inženýři
- Datoví analytici (používají silverovou vrstvu pro upřesňující datovou sadu, která stále uchovává podrobné informace nezbytné pro hloubkovou analýzu).
– Datoví vědci (vytváření modelů a provádění pokročilých analýz)
- Obchodní analytici a vývojáři BI
– Datoví vědci a technici strojového učení (ML)
- Vedoucí pracovníci a pracovníci s rozhodovací pravomocí
- Provozní týmy

Příklad architektury medailiónu

Tento příklad architektury medailonu ukazuje bronzovou, stříbrnou a zlatou vrstvu pro použití obchodním provozním týmem. Každá vrstva je uložena v jiném schema operací catalog.

Medailiónová architektura bronzová, stříbrná a zlatá vrstva

  • Bronzová vrstva (ops.bronze): Ingestuje nezpracovaná data z cloudového úložiště, Kafka a Salesforce. Tady se neprovádí žádné vyčištění nebo ověření dat.
  • Stříbrná vrstva (ops.silver): Vyčištění a ověření dat se provádí v této vrstvě.
    • Data o zákaznících a transakcích se vyčistí vyřazením hodnot null a kvazováním neplatných záznamů. Tyto datové sady jsou spojené s novou datovou sadou s názvem customer_transactions. Datoví vědci můžou tuto datovou sadu použít k prediktivní analýze.
    • Podobně se účty a datové sady příležitostí ze Salesforce připojují k vytvoření account_opportunities, což je rozšířené o informace o účtu.
    • Data leads_raw se vyčistí v datové sadě s názvem leads_cleaned.
  • Zlatá vrstva (ops.gold): Tato vrstva je určená pro firemní uživatele. Obsahuje méně datových sad než stříbro a zlato.
    • customer_spending: Průměrné a celkové útraty pro každého zákazníka.
    • account_performance: Denní výkon pro každý účet.
    • sales_pipeline_summary: Informace o kompletním prodejním kanálu.
    • business_summary: Vysoce agregované informace pro vedoucí pracovníky.

Příjem nezpracovaných dat do bronzové vrstvy

Bronzová vrstva obsahuje nezpracovaná a neaktuální data. Data přijatá v bronzové vrstvě mají obvykle následující vlastnosti:

  • Obsahuje a udržuje nezpracovaný stav zdroje dat v původních formátech.
  • Připojuje se přírůstkově a postupně roste.
  • Je určena pro spotřebu úlohami, které obohacují data pro stříbrnou tables, a nikoli pro analytiky a datové vědce.
  • Slouží jako jediný zdroj pravdy a zachovává věrnost dat.
  • Umožňuje opětovné zpracování a auditování tím, že uchovává všechna historická data.
  • Může to být libovolná kombinace streamovaných a dávkových transakcí ze zdrojů, včetně cloudového úložiště objektů (například S3, GCS, ADLS), sběrnic zpráv (například Kafka, Kinesis atd.) a federovaných systémů (například Lakehouse Federation).

Limit vyčištění nebo ověření dat

V bronzové vrstvě se provádí minimální ověření dat. Aby se zabránilo ztrátě dat, Azure Databricks doporučuje ukládat většinu polí jako řetězec, VARIANT nebo binární soubor, aby se chránila před neočekávanými změnami schema. Metadata columns mohou být přidána, například provenience nebo zdroj dat (například _metadata.file_name ).

Ověření a odstranění duplicitních dat ve stříbrné vrstvě

Čištění a ověřování dat se provádí ve vrstvě silver.

Vytvoř stříbrné tables z bronzové vrstvy

Chcete-li vytvořit stříbrnou vrstvu, načtěte data z jednoho nebo více bronzových nebo stříbrných tablesa zapište data do silver tables.

Azure Databricks nedoporučuje psát do silver tables přímo z příjmu dat. Pokud zapisujete data přímo z příjmu, dojde k selhání kvůli změnám schema nebo poškozeným záznamům ve zdrojích dat. Za předpokladu, že všechny zdroje jsou jen pro připojení, nakonfigurujte většinu čtení z bronzu jako streamované čtení. Dávkové čtení by mělo být vyhrazeno pro malé datové sady (například malé rozměrové tables).

Stříbrná vrstva představuje ověřené, vyčištěné a rozšířené verze dat. Stříbrná vrstva:

  • Měl by vždy obsahovat alespoň jednu ověřenou, neagregovanou reprezentaci každého záznamu. Pokud agregační reprezentace řídí mnoho podřízených úloh, můžou být tyto reprezentace ve stříbrné vrstvě, ale obvykle jsou ve zlaté vrstvě.
  • where provádíte čištění dat, odstranění duplicitních dat a normalizaci.
  • Vylepšuje kvalitu dat tím, že opraví chyby a nekonzistence.
  • Strukturuje data do spotřebního formátu pro zpracování po směru zpracování.

Vynucení kvality dat

V tablessilver se provádějí následující operace:

  • vynucení Schema
  • Zpracování hodnot null a chybějící hodnoty values
  • Odstranění duplicitních dat
  • Řešení problémů se zastaralými a pozdními příchozími daty
  • Kontroly a vynucování kvality dat
  • vývoj Schema
  • Přetypování typů
  • Spojení

Zahájení modelování dat

Je běžné začít provádět modelování dat ve stříbrné vrstvě, včetně výběru způsobu, jak znázorňovat silně vnořená nebo částečně strukturovaná data:

  • Použijte VARIANT datový typ.
  • Použijte JSON řetězce.
  • Vytváření struktur, map a polí
  • Zploštěte schema či normalizujte data do více tables.

Power analytics with the gold layer

Zlatá vrstva představuje vysoce rafinovaná views dat, která pohánějí následné analýzy, řídicí panely, ML a aplikace. Data ve zlaté vrstvě jsou často vysoce agregovaná a filtrovaná pro konkrétní časová období nebo geografické oblasti. Obsahuje séanticky smysluplné datové sady, které se mapují na obchodní funkce a potřeby.

Zlatá vrstva:

  • Skládá se z agregovaných dat přizpůsobených pro analýzy a vytváření sestav.
  • Odpovídá obchodní logice a požadavkům.
  • Je optimalizovaná pro výkon dotazů a řídicích panelů.

Sladění s obchodní logikou a požadavky

Zlatá vrstva je where; budete svá data modelovat pro reportování a analytiku pomocí dimenzionálního modelu, vytvoříte relace a definujete míry. Analytici s přístupem k datům ve zlatě by měli být schopni najít data specifická pro doménu a odpovídat na otázky.

Vzhledem k tomu, že zlaté vrstvy modeluje obchodní doménu, někteří zákazníci vytvářejí několik vrstev gold, aby splňovali různé obchodní potřeby, jako jsou personální, finanční a IT.

Vytváření agregací přizpůsobených pro analýzy a vytváření sestav

Organizace často potřebují vytvářet agregační funkce pro míry, jako jsou průměry, počty, maximum a minimum. Pokud například vaše firma potřebuje odpovědět na otázky týkající se celkového týdenního prodeje, můžete vytvořit materializované zobrazení označované jako weekly_sales, které tato data předem odděluje, aby analytici a ostatní nemuseli znovu vytvářet často používané materializované views.

CREATE OR REPLACE MATERIALIZED VIEW weekly_sales AS
SELECT week,
       prod_id,
       region,
       SUM(units) AS total_units,
       SUM(units * rate) AS total_sales
FROM orders
GROUP BY week, prod_id, region

Optimize pro výkon v dotazech a na řídicích panelech

Optimalizace vrstvy zlata tables pro zajištění výkonu je osvědčeným postupem, protože tyto datové sady jsou často dotazovány. Velké objemy historických dat jsou obvykle přístupné ve vrstvě sliver a nejsou materializovány ve zlaté vrstvě.

Řízení nákladů úpravou frekvence příjmu dat

Řízení nákladů určením četnosti příjmu dat

Frekvence příjmu dat Náklady Latence Deklarativní příklady Procedurální příklady
Průběžný přírůstkový příjem dat Vyšší Lower – Streamování Table pomocí spark.readStream ingestovat z cloudového úložiště nebo sběrnice zpráv.
– Kanál Delta Live Tables, který aktualizuje tento stream table, běží nepřetržitě.
– Kód strukturovaného streamování pomocí spark.readStream v poznámkovém bloku pro příjem z cloudového úložiště nebo datové sběrnice do Delta table.
– Poznámkový blok se orchestruje pomocí úlohy Azure Databricks s triggerem průběžné úlohy.
Aktivovaný přírůstkový příjem dat Lower Vyšší - Streamování a příjem dat Table z cloudového úložiště nebo sběrnice zpráv pomocí spark.readStream.
– Potrubí, které aktualizuje tento streamovaný table, se aktivuje naplánovanou aktivační událostí úlohy nebo triggerem při přijetí souboru.
– Kód strukturovaného streamování v poznámkovém bloku s triggerem Trigger.Available
– Tento poznámkový blok se aktivuje naplánovaným triggerem úlohy nebo triggerem přijetí souboru.
Dávkové příjem dat s ručním přírůstkovým příjmem dat Lower Nejvyšší kvůli občasným spuštěním. - Streamování příjmu Table z cloudového úložiště pomocí spark.read.
– Nepoužívá strukturované streamování. Místo toho použijte primitivy, jako je partition přepsání, aby update celý partition najednou.
– Vyžaduje rozsáhlou upstreamovou architekturu, která set přírůstkové zpracování, což umožňuje náklady podobné čtení a zápisům strukturovaného streamování.
Je také vyžadováno rozdělení zdrojových dat podle pole datetime a následné zpracování všech těchto záznamů z partition do cílového místa.