Archív rubriky: Mage AI – Návody a informace

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
    • pip install mage-ai
  • Někde na disku si založime sloéku s projektem Mage
    • cd C:\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)
    • mage start mage-ai
  •  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

ETL | Mage.ai – Grafy, Analýza, testování, datové přehledy, čištění

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é přehledy (templates) a grafy (charts). Pomocí těchto funkcí je možné prvotní analýzu zdrojů dělat celkem pohodlně přímo z nástroje. Mage nabízí široké možnosti předdefinovaných analytických funkci… Čtěte více »

ETL | Mage.ai – Nastavení databází v io_config.yaml a secrets (hesla)

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 tomto konfiguračním souboru k dispozici. Mage.ai io_config.yaml konfigurace a umístění Soubor io_config.yaml je hlavním konfiguračním souborem pro nastavení profilů, které se pak používají v blocích pro… Čtěte více »

ETL | Mage.ai – Chyba UnicodeDecodeError: ‘charmap’ codec – Windows

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 mi to podařilo? Mage.ai chyba UnicodeDecodeError: ‘charmap’ codec can’t decode byte Mage.ai nedekódoval jeden znak “ň” specifický pro Českou republiku. Nevím jestli to může nastat i… Čtěte více »

ETL | Mage.ai instalace přes Docker – dbtsqlserver – Chyba Dbt debug, oprava

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 rámci společných pipelines nativně (pokud neprovozujete Mage-ai přes Docker, tak žádný strach. Pouštět Db můžeme přes custom python bloky) Tento návod pokrývá i řešení chyby, která… Čtěte více »

ETL | Mage.ai Pipeline – Data load – Python, SQL Server

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 Mage.ai pipeline – tedy datový tok. Pokud tento ETL framework neznáte, tak doporučuju proletět úvodní článek. Zdrojová a cílová databáze pro ETL pipeline V tomto cvičení… Čtěte více »

ETL | Mage.ai Dbt debug – Nastavení a test databáze SQL Server (profiles.yml) – Windows

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 mage-ai do kterého jsme nainstalovali dbt-sqlserver. Následně jsme otestovali, že vidíme založenou souborovou strukturu projektu. Dneska se podíváme na to, jak provést konfiguraci a nastavení Dbt.… Čtěte více »

ETL | Mage.ai – Instalace Dbt (pip/conda) a inicializace projektu

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 Airflow. Ukázali jsme si jak framework rozchodit přes terminál a víme, že po instalaci fungujeme na localhost:6790/. Sliboval jsem v dalším článku naši první integraci, ale… Čtěte více »

ETL | Mage.ai – Chyba Error [Errno 2] No such file or directory

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, ale je někdy těžké je objevit. Jednou z těchto chyb je Error [Errno 2] No such file or directory a zrovna dnes se mi tato chyba… Čtěte více »

ETL | Mage.ai – odlehčenější důstojná alternativa za Airflow – seznámení a instalace

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 a z MS technologií k alternativám. Pro ETL platformy to platí dvojnásob. Jednou z těchto nadějných alternativ je Mage.ai. Mage.ai jako ETL framework Nejčastěji používanou ETL… Čtěte více »