DBT vs. Dataform | Mňamka #177
To, že máme v Bizztreatu rádi dbt, už víte. CTomča se o tom rozpovídal třeba v tomhle videu.
Nedávno se ale na trhu udála další zajímavá věc - do Google Cloud rodinky se přidal Dataform. A Dataform je produkt hodně podobný dbt (oba “dělaj to T v ELT”), takže jsme se rozhodli si na to trochu posvítit a oba produkty srovnat.
Co mají společného?
Tak hlavně “dělaj to T v ELT”, což znamená, že umožňují vytvořit transformační vrstvu nad vaším DWH - umí materializované tabulky, ale také umí viewčka a to tak, že ty viewčka dokáží zorchestrovat, jinými slovy vytvořit strom závislostí (dependency tree) pomocí ref funkce a sami tak vyhodnotí, ve kterém pořadí mají příkazy běžet. Na extrakci dat do svého DWH nebo posílání dat ven z DWH musíte využít jiný nástroj, “E” ani “L” se tady neřeší.
Oba produkty podporují version control, tj. gitování a v Bizztreat platí, že co nejde zagitovat, to letí z okna ven :) Kdyby to šlo, gitujeme i sami sebe.
Dále se oba produkty samo dokumentují (to zní blbě... prostě self-dokumentují), což znamená, že v cloudovém prostředí si z metadat lehce vygenerujete nebo zobrazíte dokumentaci včetně datové lineage a možnosti vyhledávat (data discovery). Oba tooly navíc umožňují napsat popisky tabulek a sloupců velmi blízko SQL kódu (dbt v yamlu vedle, Dataform v tzv. SQLX přímo nad SQL kódem) a to je prostě lepší než to (ne)psát někam do Confluence.
No a pak jsou tu data testy! Oba nástroje umí otestovat datovou kvalitu, dbt toho umí trochu víc a trochu líp (viz níže), ale i Dataform nabízí testovat tzv. assertions a proaktivně si tak hlídat datovou kvalitu. V bizztreat je to mimochodem důležitou součástí našeho DQA frameworku (mrkněte na DQA ebook). V obouch nástrojích se testy definují tam, kam píšete popisky tabulek a sloupců, všechno je zkrátka pěkně po ruce.
V čem vede dbt
Asi neexistuje projekt, kde by nesnapshotovalo. A v tomhle je dbt trochu dál než Dataform, protože má implentovanou pomalu se měnící dimenzi (to zní ještě hůř... prostě type-2 Slowly Changing Dimension). Další vychytávku, kterou zatím umí jen dbt, je možnosti si nadefinovat svoje vlastní globální testy datové kvality, které jsou 100% konfigurovatelné pro jakkouliv tabulku (je to tedy takové makro, které napíšete jednou, a pak ho můžete pouštět na jakékoliv tabulce/sloupci). No a v neposlední řadě dbt je kombinace SQL a Jinja, to znamená Pythonu a Python nemáme rádi jen my, ale i poměrně rozsáhlá komunita lidí kolem dbt.
A ještě jedna důležitá věc: dbt pustíte nad všemi nejběžnějšími DWH, u Dataform se už brzy budete muset spokojit jen s BigQuery, protože produkt bude integrován do Google Cloud platformy. Na stránkách Dataform se aktuálně dočtete: “We plan to turn down the legacy Dataform product within 3 months of integration completion. If you are an existing Dataform customer using a non-BigQuery warehouse and won’t be able to migrate over to the new product inside BigQuery then you will have 3 months to migrate to a non-Dataform solution once integration is complete.”
V čem vede Dataform
Online prostředí Dataform je velmi intuitivní a setup projektu má zmáknutý opravdu skvěle - je to doslova na 2 kliknutí - a očekáváme, že i po integraci do BigQuery to nebude o nic složitější. No a pokud jste nejen milovníci Google Cloud, ale i JavaScriptu, tak to může být zajímavá alternativa dbt.
Pricing
Cloud/Web prostředí
Dbt Cloud je zdarma pro jednoho developera, pro týmy začíná od $50 na měsíc per developer, viz. dbt pricing. Dataform je zatím zcela zdarma, viz. Dataform pricing, ale momentálně probíhá integrace do BigQuery.
CLI
My si dbt jedeme v CLI, protože ho integrujeme s Bizzflow (jazyk samotný je open source, takže zcela zdarma). Instalace je jednoduchá - poté, co mi CTomča pomohl zapnout počítač, jsem to “pip install dbt” zvládla pustit i já. Jak na instalaci můžete mrknout zde.
I Dataform můžete pouštět lokálně a integrovat, mrkněte na návod na instalaci. Místo pip zde musíte sáhnout po npm a customizaci si místo v Pythonu jedete v JavaScriptu.
Shrnutí
U nás vede dbt, protože je zkrátka dál, můžeme toho s ním více vyvádět a integrovat do Bizzflow na všech platformách. Ale i na ten Dataform v BigQuery se těšíme, to né, že ne!
Zapomněla jsem na něco? Chcete se na něco zeptat? Napište mi.
Verča
Jak na pavučinové grafy | Mňamka #437
Pavučinové (neboli paprskové) grafy patří k nejimpozantnějším grafům, se kterými se v moderních byznysových vizualizacích můžete setkat. Hodí se např. k porovnání dvou produktů na základě široké škály různých ukazatelů. Nebo jsou hojně využívány ve sportovní analytice ke komparativnímu srovnání výkonů jednotlivých hráčů. Pro nezasvěcené publikum ale mohou být jen obtížně stravitelné. Dnes si proto ukážeme, jakých zásad se při vytváření pavučinových grafů držet a jak se v nich co nejlépe orientovat!
5 mýtů o cloudu | Mňamka #436
Řešit data v cloudu dává smysl čím dál většímu počtu firem. A není se čemu divit, cloud totiž nabízí neuvěřitelnou flexibilitu a jednoduchost použití. Přesto se ale stále najde spousta firem, které jedou kompletně on-premise a s přechodem na cloud váhají. Někdy má takové rozhodnutí objektivní důvody, často ale bývá spíše výsledkem mylných představ, které o cloudových datových skladech panují. A právě na to si posvítíme v této mňamce. Pojďte se se spolu s námi podívat na 5 nejčastějších mýtů o cloudu!
Pandas – k čemu slouží, k čemu jej raději nepoužijeme a jeho alternativy | Mňamka #435
Pandas je jednou z nejpoužívanějších knihoven pro zpracování dat v jazyce Python. Jeho největší předností je zejména jednoduchá a intuitivní syntaxe a také rychlost, se kterou můžete zpracovávat velké datové soubory. V BizzTreatu ho proto často využíváme např. pro ad hoc analýzy dat, kdy potřebujeme rychle prozkoumat, jak data vlastně vypadají a jaká je jejich kvalita. V dnešní mňamce od Báry si ukážeme, kde všude lze Pandas použít a jak si stojí v porovnání s ostatními knihovnami!