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 přecijen – chybí nám ještě jedna maličkost – instalace dbt.
K provozování mage rozhodně dbt nepotřebujeme povinně, nicméně tento framework se stává čím dál více oblíbenějším a mnoho vývojářů se bez něj neobejde. Takže se tomuto tématu lehce pověnujeme.
Tento návod může sloužit i jako obecný návod pro instalaci dbt bez vazby na mage.
Instalace Dbt – požadavky a předpoklady
1) Instalace Mage přes Docker (pokud neprovozujeme dbt společně s Mage.ai tak ignoruj) – Dle dokumentace Mage, je integrace s dbt v rámci mage podporována pouze pokud je framework provozován přes Docker. Pozor na to, náš původní návod na instalaci jsme dělali přes pip. Takže pokud potřebujete provozovat i dbt, je potřeba provést instalaci novou – návod je zde. Finální stav by měl být něco viz. screenshot.
2) Python 3.6. nebo novější – pravděpodobně již máme a jestli ne tak si Pyhon stáhněte
3) Budeme potřebovat nějaký databázový engine – Při instalaci respektive inicializaci dbt si volíme, jakou databázovou platformu budeme používat. V momentu, kdy provádíme inicializaci dbt to po nás chce si vybrat tuto platformu z nainstalovaných adaptérů. Při instalaci si můžeme vybrat:
- dbt-core
- dbt-postgres
- dbt-redshift
- dat-snowflake
- dbt-bigquery
- dbt-trino
- dbt-sqlserver (náš případ) – mám nainstalován sql server takže při instalaci volím toto. Vy můžete zvolit jiný adaptér nebo si SQL server nainstalovat
V případě, že žádnou platformu používat zatím nechceme tak nainstalujeme pouze dbt-core a všechno nakonfigurujeme až později.
Instalace z terminálů/příkazové řádky (cmd)
Tento postup určitě není jediná možnost, jak dbt nainstalovat, ale já jsemto dělal následovně – Zapneme terminál/příkazovou řádku cmd a pořešíme nastavení prostředí buď přes příkaz conda (máme li nainstalovanou anacondu nebo přes pip) – vyberte si 1 možnost:
1) Vytvoření environmentu pro dbt mage-ai
Pomocí příkazu vytvoříme nové prostředí s názvem mage-ai
- anaconda -> “conda create –name mage-ai python=3.8”
- pip -> “python -m venv mage-ai”
na prvním screenshotu vidíme instalační progres a na 2. vidíme, že v Anacondě byl vytvořen nový environment.
2) Aktivace vytvořeného environmentu
- conda -> “activate mage-ai”
- pip (mac) -> “source mage-ai/bin/activate”
- pip (windows) -> “mage-ai\Scripts\activate”
3) Instalace Dbt do environmentu mage-ai
V této části provedeme instalaci dbt a adaptéru sql server. Instalace se provádí na environmentu, který jsme před tím založili. Je tedy potřeba mít aktivovaný náš nově vytvoření environment (viz. předcházející kroky). Následně instalaci provedeme příkazem
- conda -> nefunguje
- pip -> “pip install dbt-sqlserver”
Korektní instalaci zkontrolujeme pomocí příkazu “dbt –version” – vypadá to okej
4) Inicializace Dbt a vytvoření projektu “mage_dbt”
Inicializací Dbt se myslí samotné vytvoření nějakého konkrétního dbt projektu a souborové struktury k tomuto projektu. Inicializaci provedeme následovně:
- Vybereme v terminálu/cmd složku, kde chceme mít náš dbt projekt. V případě, že používáme Mage.ai, tak pravděpodobně budeme chtít mít projekt v adresáři k tomu určenému – tedy tam, kam jste nainstalovali Mage projekt (viz článek instalace Mage.ai)
- V této složce inicializujeme dbt projekt příkazem “dbt init”. Následně se nás to zeptá na název projektu který nazvu jako “mage_dbt” a chce to po nás vybrat database adaptér. Jelikož jsme v předchozím kroce nainstalovali pouze adaptér pro SQL server, tak jsme zadali 1 viz screenshot.
- Níže vidíme, že projekt byl úspěšně vytvořen a v našem kořenovém adresáři mage-ai/dbt máme novou složku mage-dbt. Můžeme ji prozkoumat a zkontrolovat jestli ji vidíme z prostředí Mage.ai
Vše vypadá Okej, v kořenové složce našeho mage-ai projektu vidíme složku dbt – to je automaticky vytvořená složka určená pro dbt projekt když nainstalujeme mage. V ní už vidíme námi vytvořený projekt mage_dbt.
Tak to byl v kostce instalační proces Dbt, odkaz na kompletní dokumentaci dbt. V tuto chvíli nám končí fáze instalace a začíná fáze nastavování. Je potřeba v dbt nastavit konfigurační soubory na naše prostředí aby vše fungovalo – tedy soubory dbt_project.yml a profiles.yml pomocí nichž se napojujeme na naše databázová prostředí (dev, prod). Na to se mrknu příště