Mage.ai je jednou z nadějných alternativ k Apache Airflow. Jedná se o odlehčenější a z mého pohledu daleko přívětivější možnost jak pracovat s ETL datovými toky. Obsahuje celou řadu předdefinovaných konektorů (Python, SQL), takže kód nemusíme psát od začátku. Vývoj je tak časově efektivní. Mage toho ale umí daleko více
Mage.ai – Instalace (Anaconda, Windows)
- Instalace Pythonu – https://www.python.org/
- Instalace Anaconda – https://www.anaconda.com/download
- Otevřeme cmd jako administrátor
- conda create –name mage-ai python=3.8
- conda activate mage-ai
- conda install pyodbc
- Nainstalujeme mage do nového environmentu
- Někde na disku si založime sloéku s projektem Mage
- Inicializace nebo spuštění mage se dělá přes příkaz níže v cmd kde poslední slovo je projekt mage (pokud neexistuje je založen, pokud existuje je spuštěn)
- na adrese http://localhost:6789/ nám běží Mage instance
Návody:
Souborová struktura Mage.ai
- Mage má logickou adresářovou strukturu (např jako dbt)
- Veškeré konfigurace na datové zdroje/cíle se nacházejí v souboru io_config.yaml. Zde jsou také vzory nastavení pro různé databáze
Struktura (nejdůležitější komponmenty)
- Složka pipelines – obsahuje datové pumpy, které se skládají z bloků
- Bloky typy (v pipeline) – stejné bloky lze používat v různých pipelinách, je tam mnoho temnplates (python/SQL) – skripty se nemusí psát od 0
- data loadery – blok který loaduje data (napojí se na nějaký systém a sosne data. Používá 1 z connections, které jsme nastavili v io_config (bod 1)
- transformery – přeberou data z data loaderů a transformují je
- data_exportery – exportery jsou bloky, které data nahrají do destinace, opět používají
- dbt – speciální komponenta, kdy Mage umožňuje integraci s dbt – je možné pouze pokud běží mage přes Docker.
- senzor – checkuje v pravidelnych intervalech jestli je splnena nejaka podminka a pokud ano tak udela neco – priklad check esi je v nejakem folderu file apod
- Charts – obsahují grafickou reprezentaci dat – různé checky datové kvality a podobně
- Dbt – složka dbt je by default prázdná. Inizializaovat si do ní dbt projekt můžete podle návodu – ETL | Mage.ai – Instalace Dbt (pip/conda) a inicializace projektu
Funkcionality a use cases Mage.ai
- ETL procesy – datové pumpy. Spousta předdefinovaných konektorů + detailní logování, scheduling
- Předdefinované bloky na různé systémy
- Předdefinované grafy na různé scénáře – testování, datová kvalita
- Podrobné logování
- Souborový manager
- Integrace s Dbt (spuštění n pipelines a v závilsosti na doběhnutí pustit dbt)
- Tvorba ETL pomocí AI (napojení na Chat gpt api)
- Správa secrets
- Možnost authentikace (defaultně vypnuto – po instalace používáme lokálně, ale lze zapnout v případě, že běží na serveru)
- Automatická integrace s gitem – clone/commit/pull/push/tracking changes
- Integrovaný terminál
- Předdefinované grafy a přehledy pro datasety – možnost testování a exploroingu dat
- Možnost spustit pipelines přes api
- Variables, lokální, globální
- Ochotná a stále početnější komunita
Troubleshooting a oprava chybových stavů
Zatím jsem narazil při prozkoumávání nástroje na potíží na které jsem narazil
V tomto návodu se podíváme na to, jaké funkce Mage.ai nabízí pro analýzu dat. Tento nástroj slouží primárně pro ETL pipelines, nicméně obsahuje i funkce pro explorační analýzy, datové...
V tomto návodu se podíváme na to, jak provést v Mage.ai nastavení io_config.yaml souboru. Koukneme se také na to, jak zakrýt a zašifrovat přístupová hesla tak, aby nebyla v...
Tento článek bude patřit tématicky k troubleshootingu. Dnes se mi podařilo tak nešikovně napsat komentář, až jsem si shodil celou instanci Mage.ai z důvodu chyby typu UnicodeDecodeError. Jak se...
Dnes jsem se pokoušel v rámci seznamování s Mage.ai provést instalaci přes Docker, protože momentálně (2024-01-26) je to jediný scénář kdy je možné rozchodit Dbt společně s Mage.ai v...
V minulém článku, který byl věnován seznámení s Mage.ai – nástrojem pro tvorbu a správu ETL procesů jsem na konci sliboval, že si v dalším článku zkusíme vytvořit s...
Minulý článek byl zaměřen na instalaci dbt do prostředí Mage.ai anebo samostatně a následnou inicializaci projektu nazvaného mage_dbt – Instalace Dbt (pip/conda) a inicializace projektu. Máme tedy nainstalovaný environment...
V minulém článku – ETL | Mage.ai – odlehčenější důstojná alternativa za Airflow – seznámení a instalace jsme si udělali menší představení ETL nástroje Mage.ai jako odlehčenější alternativy k Apache...
Mage.ai je super nástroj pro data nerdy, ale není ještě úplně odladěný co se týče user xperience. Můžeme tak narazit na nějaké chyby, které jsou v základu primitivního charakteru,...
Jako hlavní nástroj pro ETL pipelines používám nejčastěji SSIS (SQL Server integration services). Technologicky se v prostředí datových skladů však čím dál více posouváme z onprem řešení do cloudu...