Kanály pro příjem dat, ETL a zpracování datových proudů pomocí Azure Databricks a Delta Lake

Azure Databricks
Azure Data Lake Storage
Azure IoT Hub
Azure Data Factory
Azure Event Hubs

Nápady na řešení

Tento článek je myšlenkou řešení. Pokud chcete, abychom obsah rozšířili o další informace, jako jsou potenciální případy použití, alternativní služby, aspekty implementace nebo pokyny k cenám, dejte nám vědět tím, že nám poskytnete zpětnou vazbu k GitHubu.

Vaše organizace potřebuje ingestovat data libovolného formátu, velikosti a rychlosti do cloudu konzistentním způsobem. Řešení v tomto článku splňuje potřeby s architekturou, která implementuje extrakci, transformaci a načítání (ETL) z vašich zdrojů dat do datového jezera. Datové jezero může obsahovat všechna data, včetně transformovaných a kurátorovaných verzí v různých škálách. Data je možné použít pro analýzu dat, business intelligence (BI), vytváření sestav, datové vědy a strojové učení.

Apache® a Apache Spark™ jsou registrované ochranné známky nebo ochranné známky Apache Software Foundation v USA a/nebo v jiných zemích. Použití těchto značek nevyžaduje žádné doporučení Apache Software Foundation.

Architektura

Diagram that shows the architecture and data flow for ETL and stream processing with Azure Databricks.

Stáhněte si soubor aplikace Visio s touto architekturou.

Tok dat

  1. Data se ingestují následujícími způsoby:

    • Fronty událostí, jako jsou Event Hubs, IoT Hub nebo Kafka, odesílají streamovaná data do Azure Databricks, která ke čtení dat používá optimalizovaný Delta Engine.
    • Naplánované nebo aktivované kanály Data Factory kopírují data z různých zdrojů dat v nezpracovaných formátech. Automatický zavaděč v Azure Databricks zpracovává data při jejich doručení.
  2. Azure Databricks načte data do optimalizovaných, komprimovaných tabulek nebo složek Delta Lake ve vrstvě Bronze ve službě Data Lake Storage.

  3. Streamování, naplánované nebo aktivované úlohy Azure Databricks čtou nové transakce z bronzové vrstvy Data Lake Storage. Úlohy spojují, čistí, transformují a agregují data před použitím transakcí ACID, aby je načetly do kurátorovaných datových sad ve vrstvách Data Lake Storage Silver a Gold.

  4. Datové sady se ukládají v Delta Lake ve službě Data Lake Storage.

Každá služba ingestuje data do společného formátu, aby byla zajištěna konzistence. Architektura používá sdílené datové jezero založené na otevřeném formátu Delta Lake. Nezpracovaná data se ingestují z různých dávkových a streamovacích zdrojů, aby se vytvořila jednotná datová platforma. Platformu je možné použít pro případy použití podřízených dat, jako jsou analýzy, vytváření sestav BI, datové vědy, AI a strojové učení.

Bronzové, stříbrné a zlaté vrstvy úložiště

Se vzorem medallion, který se skládá z bronzových, stříbrných a zlatých vrstev úložiště, mají zákazníci flexibilní přístup a rozšiřitelné zpracování dat.

  • Bronzové tabulky poskytují vstupní bod pro nezpracovaná data, když se objeví ve službě Data Lake Storage. Data jsou převzata v nezpracovaného zdrojovém formátu a převedena do otevřeného transakčního formátu Delta Lake pro zpracování. Řešení ingestuje data do bronzové vrstvy pomocí:
    • Rozhraní APACHE Spark API v Azure Databricks Rozhraní API čtou streamované události ze služby Event Hubs nebo IoT Hub a pak tyto události nebo nezpracované soubory převedou do formátu Delta Lake.
    • Příkaz COPY INTO . Pomocí příkazu zkopírujte data přímo ze zdrojového souboru nebo adresáře do Delta Lake.
    • Automatický zavaděč Azure Databricks. Auto Loader vezme soubory, když dorazí do datového jezera, a zapíše je do formátu Delta Lake.
    • Aktivita kopírování služby Data Factory. Zákazníci můžou tuto možnost použít k převodu dat z libovolného z podporovaných formátů na formát Delta Lake.
  • Silver tables store data while it be optimized for BI and data science use cases. Bronzová vrstva ingestuje nezpracovaná data a pak se provádí další úlohy zpracování ETL a streamů pro filtrování, čištění, transformaci, spojení a agregaci dat do datových sad s kurátorovanými stříbrem. Společnosti můžou při použití Azure Databricks jako počáteční služby pro tyto úlohy používat konzistentní výpočetní modul, jako je open-standards Delta Engine. Pak můžou používat známé programovací jazyky, jako je SQL, Python, R nebo Scala. Společnosti můžou také používat opakovatelné procesy DevOps a dočasné výpočetní clustery s velikostí pro jednotlivé úlohy.
  • Zlaté tabulky obsahují rozšířená data připravená k analýze a vytváření sestav. Analytici můžou použít svou metodu výběru, jako je PySpark, Koalas, SQL, Power BI a Excel, a získat nové poznatky a formulovat dotazy.

Komponenty

  • Event Hubs analyzuje a boduje streamované zprávy z různých zdrojů, včetně místních systémů, a poskytuje informace v reálném čase.
  • Data Factory orchestruje datové kanály pro příjem dat, přípravu a transformaci všech vašich dat v libovolném měřítku.
  • Data Lake Storage spojuje streamovaná a dávková data, včetně strukturovaných, nestrukturovaných a částečně strukturovaných dat, jako jsou protokoly, soubory a média.
  • Azure Databricks vyčistí a transformuje bezstrukturované datové sady a kombinuje je se strukturovanými daty z provozních databází nebo datových skladů.
  • IoT Hub poskytuje vysoce zabezpečenou a spolehlivou komunikaci mezi vaší aplikací IoT a zařízeními.
  • Delta Lake on Data Lake Storage podporuje transakce ACID pro spolehlivost a je optimalizovaná pro efektivní příjem dat, zpracování a dotazy.

Podrobnosti scénáře

Zpracování příjmu dat, ETL a datových proudů pomocí Azure Databricks je jednoduché, otevřené a spolupracující:

  • Jednoduché: Open Data Lake s kurátorovaným vrstvou v opensourcovém formátu zjednodušuje architekturu dat. Delta Lake, opensourcový nástroj, poskytuje přístup k datovému jezeru Azure Data Lake Storage. Delta Lake on Data Lake Storage podporuje atomičnost, konzistenci, izolaci a stálost transakcí (ACID) pro zajištění spolehlivosti. Delta Lake je optimalizovaná pro efektivní příjem, zpracování a dotazy.
  • Open: Řešení podporuje opensourcový kód, otevřené standardy a otevřené architektury. Funguje také s oblíbenými integrovanými vývojovými prostředími (IDE), knihovnami a programovacími jazyky. Prostřednictvím nativních konektorů a rozhraní API řešení funguje také s širokou škálou dalších služeb.
  • Spolupráce: Datoví inženýři, datoví vědci a analytici spolupracují s tímto řešením. Můžou používat poznámkové bloky pro spolupráci, prostředí IDE, řídicí panely a další nástroje pro přístup k běžným podkladovým datům a jejich analýzu.

Azure Databricks se bezproblémově integruje s dalšími službami Azure, jako jsou Data Lake Storage, Azure Data Factory, Azure Event Hubs a Azure IoT Hub.

Potenciální případy použití

Toto řešení je inspirované systémem, který poskytuje zdravotní péči vytvořenou pro analýzu v reálném čase. Toto řešení by mohlo zvážit i jakékoli odvětví, které ingestuje dávková nebo streamovaná data. Příkladem může být:

  • Maloobchodní prodej a elektronické obchodování
  • Finance
  • Zdravotnictví a lékařské technologie
  • Dodavatelé energie

Další kroky

  • Spanish Point Technologies sestavuje svůj odpovídající modul pomocí Azure Databricks a Azure Data Factory k ingestování dat ve velkém měřítku, aby hudebníci mohli platit spravedlivě.

Příručky a plně nasaditelné architektury: