Dávkové zpracování

Běžným scénářem velkých objemů dat je dávkové zpracování dat v klidovém umístění. V tomto scénáři jsou zdrojová data načtena do úložiště dat, a to buď přímo ze samotné zdrojové aplikace, nebo pracovním postupem orchestrace. Data se pak zpracovávají místně pomocí paralelní úlohy, která se dá iniciovat také pracovním postupem orchestrace. Zpracování může zahrnovat několik iterativních kroků před tím, než jsou transformované výsledky načteny do úložiště analytických dat, na které se můžete dotazovat pomocí analýz a komponent pro vytváření sestav.

Například protokoly z webového serveru se můžou zkopírovat do složky a potom se zpracovávat přes noc a generovat každodenní sestavy aktivity na webu.

Diagram kanálu dávkového zpracování

Kdy použít toto řešení

Dávkové zpracování se používá v nejrůznějších scénářích, od jednoduchých transformací dat až po úplnější kanál ETL (extrakce, transformace-načtení). V kontextu velkých objemů dat může dávkové zpracování fungovat ve velkých datových sadách, kde výpočet trvá poměrně dlouho. (Příklad naleznete v tématu Architektura lambda.) Dávkové zpracování obvykle vede k dalšímu interaktivnímu průzkumu, poskytuje data pro modelování pro strojové učení nebo zapisuje data do úložiště dat optimalizovaného pro analýzu a vizualizaci.

Jedním z příkladů dávkového zpracování je transformace velkého souboru plochých, částečně strukturovaných souborů CSV nebo JSON do schematized a strukturovaného formátu, který je připravený pro další dotazování. Data se obvykle převádějí z nezpracovaných formátů používaných pro ingestování (jako je CSV) do binárních formátů, které jsou pro dotazování více výkonné, protože ukládají data ve sloupcovém formátu a často poskytují indexy a vložená statistiku o datech.

Výzvy

  • Formát a kódování dat. K některým z nejobtížnějších problémů, ke kterým dochází, když soubory používají neočekávaný formát nebo kódování. Zdrojové soubory mohou například používat kombinaci kódování UTF-16 a UTF-8, nebo mohou obsahovat neočekávané oddělovače (mezera oproti tabulátoru) nebo obsahovat neočekávané znaky. Dalším běžným příkladem jsou textová pole, která obsahují tabulátory, mezery nebo čárky, které jsou interpretovány jako oddělovače. Logika načítání a analýzy dat musí být dostatečně flexibilní, aby bylo možné tyto problémy detekovat a zvládnout.

  • Orchestrace časových řezů. Zdrojová data se často nacházejí v hierarchii složek, která odráží okna zpracování uspořádaná podle roku, měsíce, dne, hodiny a tak dále. V některých případech se může stát, že data dorazí pozdě. Předpokládejme například, že webový server nefunguje, a protokoly pro březen 7 nekončí ve složce ke zpracování do 9. března. Jsou jenom ignorované, protože jsou moc pozdě? Může logika zpracování pro příjem dat zpracovávat záznamy mimo pořadí?

Architektura

Architektura dávkového zpracování má následující logické komponenty, které jsou zobrazeny v diagramu výše.

  • Úložiště dat – Obvykle distribuované úložiště souborů, které může sloužit jako úložiště pro velké objemy velkých souborů v různých formátech. Obecně platí, že tento druh úložiště se často označuje jako Data Lake.

  • Dávkové zpracování. Velký charakter velkých objemů dat často znamená, že řešení musí zpracovávat datové soubory pomocí dlouhotrvajících dávkových úloh, aby bylo možné filtrovat, agregovat a jinak připravovat data k analýze. Tyto úlohy obvykle zahrnují čtení zdrojových souborů, jejich zpracování a zápis výstupu do nových souborů.

  • Úložiště analytických dat. Mnoho řešení pro velké objemy dat je navrženo pro přípravu dat pro analýzu a následné obsluhu zpracovaných dat ve strukturovaném formátu, který lze dotazovat pomocí analytických nástrojů.

  • Analýza a vytváření sestav. Cílem většiny řešení pro velké objemy dat je poskytnout přehled o datech prostřednictvím analýzy a vytváření sestav.

  • Orchestrace. Při dávkovém zpracování se obvykle vyžaduje orchestrace migrace nebo kopírování dat do úložiště dat, dávkového zpracování, úložiště analytických dat a vrstev vytváření sestav.

Technologické volby

Následující technologie jsou doporučenými možnostmi pro řešení dávkového zpracování v Azure.

Úložiště dat

  • Azure Storage kontejnery objektů Blob. Řada stávajících obchodních procesů Azure již využívá úložiště objektů BLOB v Azure, takže tato možnost je vhodná pro úložiště velkých objemů dat.
  • Azure Data Lake Store. Azure Data Lake Store nabízí prakticky neomezené úložiště pro libovolnou velikost souboru a rozsáhlé možnosti zabezpečení, takže je vhodná pro extrémně rozsáhlá řešení pro velké objemy dat, která vyžadují centralizované úložiště pro data v heterogenních formátech.

Další informace najdete v tématu úložiště dat.

Dávkové zpracování

  • U-SQL. U-SQL je jazyk pro zpracování dotazů používaný Azure Data Lake Analytics. kombinuje deklarativní povahu SQL s rozšiřitelnou procedurální možností jazyka C# a využívá paralelismus k zajištění efektivního zpracování dat v obrovských škálováních.
  • Podregistr. podregistr je jazyk podobný SQLm, který je podporovaný ve většině distribucí Hadoop, včetně HDInsight. Dá se použít ke zpracování dat z jakéhokoli úložiště kompatibilního s HDFS, včetně služby Azure Blob Storage a Azure Data Lake Store.
  • Prase. Prase je deklarativní jazyk pro zpracování velkých objemů dat, který se používá v mnoha distribucích Hadoop, včetně HDInsight. Je zvláště užitečné pro zpracování nestrukturovaných nebo částečně strukturovaných dat.
  • Spark. Modul Spark podporuje programy dávkového zpracování napsané v různých jazycích, včetně jazyků Java, Scala a Python. Spark používá distribuovanou architekturu k paralelnímu zpracování dat napříč několika pracovními uzly.

Další informace najdete v tématu dávkové zpracování.

Analytické úložiště dat

  • Azure synapse Analytics. Azure Synapse je spravovaná služba založená na technologii SQL Server database a je optimalizovaná pro podporu úloh datového skladu ve velkém měřítku.
  • Spark SQL. spark SQL je rozhraní API postavené na sparku, které podporuje vytváření dataframes a tabulek, které se dají dotazovat pomocí syntaxe SQL.
  • HBA. HBA je NoSQL úložiště s nízkou latencí, které nabízí vysoce výkonné a flexibilní možnosti pro dotazování strukturovaných a částečně strukturovaných dat.
  • Podregistr. Kromě toho, že je užitečné pro dávkové zpracování, nabízí podregistr databázovou architekturu, která je koncepčně podobná té typickému systému pro správu relačních databází. Vylepšení výkonu dotazů na podregistrech prostřednictvím inovací, jako je tez Engine a iniciativa Stinger, znamenají, že tabulky podregistru se dají efektivně používat jako zdroje pro analytické dotazy v některých scénářích.

Další informace najdete v tématu analytické úložiště dat.

Analýzy a generování sestav

  • Azure Analysis Services. Mnoho řešení pro velké objemy dat emuluje tradiční architektury podnikových business intelligence tím, že zahrnuje centralizované datové modely OLAP (Online Analytical Processing) (často označované jako datová krychle), na kterých se dají sestavy, řídicí panely a interaktivní analýzy řezů a kostek zakládat. Azure Analysis Services podporuje vytváření tabulkových modelů, které splňují tuto potřebu.
  • Power BI. Power BI umožňuje analytikům dat vytvářet interaktivní vizualizace dat založené na datových modelech v modelu OLAP nebo přímo z analytického úložiště dat.
  • Microsoft Excel. Microsoft Excel je jednou z nejčastěji používaných softwarových aplikací na světě a nabízí širokou řadu možností analýzy a vizualizace dat. analytiky dat můžou pomocí Excel sestavovat datové modely dokumentů z analytických úložišť nebo načítat data z datových modelů OLAP do interaktivních kontingenčních tabulek a grafů.

Další informace najdete v tématu Analýza a vytváření sestav.

Orchestrace

  • Azure Data Factory. Azure Data Factory kanály se dají použít k definování posloupnosti aktivit a naplánování pro opakující se dočasné okna. tyto aktivity mohou iniciovat operace kopírování dat a také úlohy v podregistru, prase, MapReduce nebo sparku v clusterech HDInsight na vyžádání; úlohy U-SQL v Azure datum Lake Analytics; a uložené procedury v Azure synapse nebo Azure SQL Database.
  • Oozie a Sqoop. Oozie je modul pro automatizaci úloh pro Apache Hadoop ekosystém a dá se použít k zahájení operací kopírování dat a také k zaregistrování úloh v podregistru, prasečím a MapReduce ke zpracování dat a úloh Sqoop ke kopírování dat mezi HDFS a SQL databázemi.

Další informace najdete v tématu orchestrace kanálu .