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.

mage-ai-docker

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”

vytvoreni-environmentu-dbt      anaconda-novy-environment

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”

dbt-instalace

Korektní instalaci zkontrolujeme pomocí příkazu “dbt –version” – vypadá to okej

dbt-version

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)

dbl-slozka

  • 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.

dbt-init

  • 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

mage-ai-dbt-test

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ě

5/5 - (1 vote)

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 *