Nový způsob transformace dat: Co to je dbt | Mňamka #129

Máme technologie, které milujeme, máme je odzkoušené a umíme je. To ale rozhodně neznamená, že stále netestujeme nové. A tak jsme narazili na dbt (Data Build Tool) - open source, který nás hodně baví.

Než si řekneme víc, pojďme o krok zpět. Máme data ve zdrojových systémech a ve finále se na ně potřebujeme koukat třeba v nějakém vizualizačním nástroji. Ale než se podíváme na pěkný grafíky a rozjedeme naplno business intelligence, musíme ujít ještě dlouhou cestu (který datový analytik by neznal, že...). No a ta cesta je zjednodušeně v zásadě dvojí. Buď si data vezmeme ze zdrojového systému (extract), cestou v nich uklidíme  (transform) a upravené je natáhneme do cíle (třeba cílový data warehouse) = ETL (na to se dá využít například nástroj Keboola nebo si to můžeme postavit na cloudových službách), nebo je ze zdrojového systému vytáhneme tak jak jsou a ten úklid děláme až v cíli, plus často až když je potřeba = ELT.

Co to je dbt?

Je to nástroj, který se v ELT stará o to “T”. Základem je projekt, který se konfiguruje sadou YAML souborů a SQL souborů s makry.
 

Zdroj obrázku: https://blog.getdbt.com/what--exactly--is-dbt-/

V čem je jeho kouzlo?


Tím, že dbt podporuje makra v SQL spojuje silu skriptovacího jazyka Python a SQL. Umožňuje používat cykly pro generování SQL, takže minimalizuje kopírování kóduAutomatické testování - stačí popsat, jak mají vypadat data, která vystupují z transformace, a dbt se postará o to, že to tak fakt je. 
 

Prostě kouzlo dbt je v tom, že k tomu “T” přistupuje tak, že se snaží usnadňovat věci, který jsou často třeba a je nutný je řešit opakováním kódu, případně kódem, kterej je náchylnej k chybám. V případě, že se něco změní v datech, transformace s dbt se dají napsat tak, že to dbt buď pozná a řekne, že je něco špatně, nebo na to bude připravený a zařídí, že se nestane nic špatného.

A mimojiné - je to opensource s velmi snadnou instalací. Správa kódu v gitu, která podporuje CI/CD principy a spolupráci týmu na projektu. Dá se integrovat do existující pipeline, de facto poběží všude, kde běží Python.

Za nás je to pecka. Chcete vědět víc? Mrkněte výše na Tomovo video. 

Zapomněla jsem na něco? Chcete se na něco zeptat? Napište mi. 

Eva

Eva Hankusová
detektiv nových příležitostí
LinkedIn

What is a Use Case in Data Projects?

What is a Use Case in Data Projects?

A use case in a data-driven project defines the practical application of data—who will use it, why, and what decisions it will support. It’s tied to a specific role within the company and helps that role achieve its KPIs or business objectives.

Excel or Not to Excel?

Excel or Not to Excel?

Excel can be a great tool for quick analyses, but it’s long been unsuitable for managing medium and large businesses. If you’ve ever tried opening a massive file with thousands of records, you know exactly what we mean. But it’s not just about wasted time—“Excel-ing” in a large company can cost you a fortune. How much? Find out in today’s Mňamka, where Patrik breaks down the biggest pain points of handling data in Excel! 🚀

 Agilní datová analytika pomáhá MALFINI řídit výkon obchodníků a zvyšovat tržby meziročně o 30 %

Agilní datová analytika pomáhá MALFINI řídit výkon obchodníků a zvyšovat tržby meziročně o 30 %