Fabric – ADLS Gen2 a Parquet – Nastavení Úložiště a Formát Bronze Dat

V datové architektuře založené na medailonovém přístupu (Medallion Architecture) představuje Bronze vrstva první stupeň zpracování dat – sem přicházejí surová, minimálně transformovaná data z různých zdrojových systémů. V sérii článků o Fabricu implementujeme datové řešení, kde je Bronze vrstva realizována jako Lakehouse ve Fabricu ve formě delta tabulek a Silver/Gold vrstva jako Data Warehouse plněný přes Dbt (Data build Tool). V rámci projektu nám Azure Data Lake Storage Gen2 (ADLS Gen2) slouží jako fyzické úložiště dat před importem do Bronze vrstvy ve Fabricu.

Azure Data Lake Storage Gen2 (ADLS Gen2) – co to je

Azure Data Lake Storage Gen2 je cloudové úložiště určené pro ukládání velkých objemů dat v rámci platformy Microsoft Azure. Kombinuje vlastnosti Azure Blob Storage a Hadoop Distributed File System (HDFS). To je ideální řešení pro datové jezera a analytické scénáře. ADLS Gen2 podporuje hierarchickou strukturu složek, řízení přístupů na úrovni adresářů a efektivní práci s velkými datovými soubory, například ve formátu Parquet nebo Delta.

V našem případě je ADLS Gen2 využíván čistě jako layer pro ukládání a zálohu dat. Fabric sám o sobě data z tohoto úložiště bude číst a následně data zamergujeme do Lakehouse.

Struktura a organizace zdrojových dat v ADLS Gen2

Při návrhu struktury Bronze vrstvy je klíčové zajistit přehlednost, konzistenci a efektivní práci s datovými partitions. Adresářová struktura, kterou používáme v rámci úložiště ADLS Gen2 vypadá následovně:

/data-lake/
   └── 01_bronze/
       └── <source_system>/
           └── <table_name>/
               └── year=<ingestion_year>/
                   └── month=<ingestion_month>/
                       └── day=<ingestion_day>/
                           └── <ingestion_timestamp>data.parquet

adls-gen2-bronze-medaillon

Tento způsob strukturování přináší následující výhody:

  • Jasná organizace dat dle zdrojového systému a tabulky.
  • Efektivní filtrování a načítání – jednotlivé složky slouží jako partition klíče
  • Snadná integrace s Delta Lake a Fabric – adresářové členění se přímo mapuje na partitioning v tabulkách.

Používáním partitions nad delta tabulkami ve Fabricu si budujeme základ pro rychlé a efektivní čtení dat

Datová akvizice přes Azure Data Factory

Přenos dat do Bronze vrstvy probíhá obvykle pomocí pipeline v Azure Data Factory (ADF), což je pro nás hlavní tool pro datovou akvizici.

Typický proces zahrnuje následující kroky:

  • Načtení zdrojových dat – například z SQL databáze, REST API nebo blob storage
  • Transformace do Parquet formátu – převod dat do sloupcového formátu zajišťuje efektivní ukládání i čtení
  • Zápis do ADLS Gen2 – pomocí dynamického výrazu v ADF se automaticky vytvoří složky podle aktuálního data ingestion:
@concat('01_bronze/BusinessCentral/'
,dataset().destination_table, 
'/year=',dataset().ingestion_year,
'/month=', dataset().ingestion_month, 
'/day=', dataset().ingestion_day)/

  • Validace a audit – možnost uložit metadata o běhu pipeline (počet záznamů, timestamp, stav ingestion) do pomocné tabulky nebo Log Analytics.

azure-data-factory-create-parquet-folders-partitions

A co dál ve Fabricu?

Jakmile jsou data uložena v ADLS Gen2, lze je snadno načítat do Lakehouse ve Fabricu (pomocí shortcuts) a dále zpracovávat. Díky použité adresářové struktuře může Fabric automaticky rozpoznat partition sloupce (year, month, day), což zrychluje čtení dat a následně merge do delta tabulek ve Fabricu. Co nás čeká dále:

  • Do založeného Bronze Lakehouse ve Fabricu vytvoříme propojení na ADLS Gen2 data pomocí shortcut abychom mohli parquety číst
  • Vytvoříme MERGE notebooky, které si budou podle ingestion date číst data z ADLS Gen 2 a zamergují nám nové soubory do delta tabulek. Tyto notebooky budou připraveny pro orchestraci pomocí pipelines.
  • Delta tables v Bronze lakehousu budou zdrojem dat pro Silver a Gold medailony. To už bude zajišťovat dbt (data build tool), který pouštíme přes Azure container app job. Pro volání z Fabricu v rámci orchestrace máme připraven notebook.

Takto připravená architektura tvoří spolehlivý základ pro budoucí Silver a Gold modely, které již pracují s očištěnými a obohacenými daty. Fabric v tomto případě představuje výpočetní vrstvu (Lakehouse, dbt, Delta), zatímco ADLS Gen2 plní roli spolehlivého úložiště.

5/5 - (2 votes)
Rubrika: Fabric

O Ing. Jan Zedníček - Data Engineer & Controlling

Jmenuji se Honza Zedníček a působím jako data engineer freelancer. Během cca 10 let jsem zde shromáždil přes 600 IT case studies, průvodců, návodů a tipů určených zejména odborné veřejnosti, studentům a zájemcům o informace z oblastí Data Engineeringu, korporátních financí a reportingu. Zaměřuji se především na Microsoft technologie (on-prem i cloud) a různé synergické efekty v rámci jejich produktového portfolia pro dataře a finanční profesionály. Věnuji se také dalším platformám a významným hráčům z oblasti open source technologií. 🔥 Pokud vám tento článek pomohl, ocením referenci na vašem webu nebo zmínku v komunitě. A mám pro vás ještě tip: řešíte-li nějaký zapeklitý Excel problém, přihlašte se do naší Excel Facebook skupiny (2.4k+ členů), kde si pomáháme Excel CZ/SK diskuse ».

Leave a Reply

Your email address will not be published. Required fields are marked *