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 platformou pro velké a enterprise klienty je často (možná nejčastěji) volen opensource Apache Airflow. To je mocná zbraň založená na pythonu, ale přiznejme si – je to poměrně komplexní záležitost. Od instalace, přes rozchození pipelines a orchestrace až po provozování. Začínají se však objevovat pobobné, mnohem uživatelsky přívětivejší opensource alternativy jako například Mage.ai.

Mage.ai je framework, který slouží k automatizaci ETL procesů – pipelines (vč. streamingu). Instalace a údržba je snadná. Tool nabízí celou řadu předdefinovaných konektorů (python/SQL skripty) na různé zdroje,  přehlednou souborovou strukturu a možnosti škálování. Framework dále podporuje řadu konfiguračních nastavení, správu secrets, vytváření grafů, testovací scénáře, číštění dat a více. Dokumentace je velmi dobrá.

Instalace Mage.ai

Mage.ai je možné provozovat na systémech podporujících Docker – samozřejmě včetně Windows, Linux, Mac. Instalaci je možné provést buď přes (i) docker nebo přes (ii) pip nebo (iii) kubernetes. Preferován je docker. Demo projekt si můžete prohlédnout na této URL – demo.mage.ai

Instrukce instalaci nalezneme zde – https://docs.mage.ai/getting-started/setup. Nejjednodušší (avšak ne doporučovaná) varianta instalace je přes pip/conda

  • Vytvořím conda environment janzednicek_mageai_article
  • Otevřu terminál a aktivuji environment
  • Nejprve jsem zkoušel instalaci přes conda, ale to se nepodařilo přes pip už ano (viz. screenshot)

Pak stačí prostě napsat pip install mage-ai a vše se nainstaluje

instalace mage-ai

Po úspěšné instalaci nastartuji nový projekt tak, že v terminálu:

  • Vlezu do složky kde chci nový projekt mít (cesta do folderu)
  • a řeknu mage start my_new_mage_project

Poté se založí v daném umístění adresář a na adrese http://localhost:6790/ budu mít vše připraveno.

Doporučuju proklikat si demo projekt. Příště si uděláme první pipeline – připojíme se na web České národní banky, stáhneme kurzy měn pro daný den a uložíme do SQL Server databáze, kterou si pro tento účel nakonfigurujeme io_config.yml souboru.

Rate this post

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

Jmenuji se Honza Zedníček a působím jako freelancer. Pracoval jsem dříve také jako BI developer, finanční controller a analytik. Vše pro společnosti z oblasti IT, bankovnictví, consultingu a výroby. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a občas neúspěšně odpálím pár balónků v golfu 🏌️

Již cca 10 let zapisuji na tento web různé návody určené zejména odborné veřejnosti, studentům a zájemcům o informace z oblastí Business intelligence, korporátních financí a reportingu.

🔥 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 *