Keboola transformace – v hlavní roli proměnné | Mňamka #432
V BizzTreatu se staráme o jeden parádní projekt, který musíme udržovat téměř identický pro více regionálních mutací. Jádro nápočtů tak zůstává stejné, ale občas se liší důležité parametry, které jsou specifické pro danou zemi. Jak to řešíme? Od hardcodění jsme se přesunuli k hojnému využívání proměnných, které nám dodávají potřebný manipulační prostor a zároveň nám usnadňují správu kódu.
Proměnné v Keboole
Při práci v SQL transformacích v Keboole můžeme narazit na dva typy proměnných - ty keboolácké a ty snowflakové. Pojďme se na ně podívat.
Keboola proměnné
Proměnné definované v části předcházejícím bloku transformací nejsou vázané na kód transformací samotný. V praxi to znamená, že se nechovají přesně jako proměnné SQL nebo Pythonu - transformační proměnné jsou vyhodnoceny a definovány už před spuštěním transformace a jsou platné pro celou dobu běhu jobu dané konfigurace.
Pro zápis využívají moustache variable syntax a definují se v bloku “Variables” předcházejícím script samotný a následně se v kódu vkládá název proměnné do dvojitých složených závorek . Více v Keboola dokumentaci.

Samozřejmě záleží, jakou hodnotu potřebujete vložit do proměnné, ale odpovídá to běžné SQL syntaxi - stringy v jednoduchých uvozovkách, integery bez, pokud potřebujete vložit seznam hodnot, tak se vkládá jako [value1,value2] (tj. bez jednoduchých uvozovek a mezer).

Snowflake proměnné
Tento druhý typ proměnných se definuje přímo v kódu a díky tomu také zůstává jeho součástí a platí po dobu celého jobu, kdy běží transformace. Best practice je nadefinovat si je na začátku kódu, ideálně, pokud je využíváte napříč celým Keboola projektem, tak využít i shared code. Takto definované proměnné se pak v kódu používají předsazené znakem dolaru $ .

Co, kdy a jak používat?
Pro co nejpohodlnější vývoj je ideální použít kombinaci zmíněných proměnných. Pokud si totiž nejdřív nadefinujete Keboola proměnné v záhlaví transformací a pak hned v úvodním bloku si je převedete na Snowflake proměnné, tak při zkopírování celé transformace do vývojového workspace stačí vyplnit hodnoty proměnných pouze na jednom místě, a ne na všech možných i nemožných místech, kam jste v rámci vývoje danou proměnnou umístili. Je to funkční, praktické a elegantní.
Jak na to krok za krokem?
- definovat proměnné v KBC transformaci (tj. v části “Variables”)
- pomocí SET přiřadit hodnotu Keboola proměnné Snowflake proměnné
- používat Snowflake proměnnou v kódu

Nic ovšem není dokonalé - proměnné ve Snowflake jsou limitované. Jak praví Snowflake dokumentace - maximální velikost proměnné je limitována na 256 bytes. Pokud tedy potřebujete využít proměnné delší než 256 bytes, tak musíte zůstat u KBC proměnných, které omezené nejsou.

Tím se pak snadno můžete dostat do situace, kdy v KBC budete mít jako proměnnou definovaný dlouhý seznam hodnot. Co s tím pak ve Snowflake?
- KBC proměnnou definovat jako seznam v hranatých závorkách, bez uvozovek kolem hodnot, bez mezer, pouze oddělit čárkami
</> paid_subscription_type ([ value1,value2,value3,value4,value5 ])
- na začátku kódu definovat SQL proměnnou pomocí SET
SET paid_subscription_type = ''
- v kódu je pak nutné parsovat pomocí:
(SELECT VALUE FROM TABLE(FLATTEN(INPUT => PARSE_JSON($paid_subscription_type))))
Podrobný návod pak najdete na Snowflake forum.

Tak, a to je celé. Pokud máte projekt takto pěkně uklizený, tak pak už není problém dosadit do připravené struktury nové proměnné unikátní pro sesterský projekt a ušetřený čas můžete strávit třeba u kafe. ;)
Příběh transformace Crocodille ČR s Bizztreatem | Mňamka #495
🔊Jsme pyšný, že s vámi můžeme sdílej skutečný příběh, který píšeme už několik let s naším velkým klientem Crocodille ČR. Právě totiž vyšla nová epizoda Data Talku, ve které máme prostor vyprávět tento příběh! 💥 Reference je tou nejlepší zpětnou vazbou na naší práci, a tady ta reference zaznívá přímo od Jiřího Brothánka a dostává reálný hlas. 🥪 Jsme součástí transformace Crocodille ČR od počátečních někdy i bolestivých kroků, přes výzvy až po triumfy! Jiří Vicherek vede rozhovor s Jiřím Brothánkem, Head of IT v Crocodille, a naším team leaderem Tomášem Dědkem. Společně odhalují, jak jsme s Crocodille postupovali na cestě od tradičních business modelů k implementaci moderního BI a nyní i AI! 🕵️ Jsme hrdí, že můžeme být datovými detektivy pro jedny z hlavních hráčů na českém trhu.🎧Nenechte si tu epizodu ujít!
Zpracování dat z LinkedInu prostřednictvím ETL nástroje Bizzflow | Mňamka #494
Pro některé je LinkedIn pouze sociální sítí, na které mají svůj profesní profil, jen aby se neřeklo a pro některé může být LinkedIn jakási svatyně personal brandingu a navazování profesních kontaktů. Fakt, že LinkedIn generuje celosvětově až 80% B2B leadů ze všech sociálních sítí jen potvrzuje to, že zvláště pro firmy je LinkedIn skvělým místem, kde prezentovat svoje produkty či služby. V dnešní mňamce bych ráda mluvila o tom, jak jsem postupovala ve své bakalářské práci na téma Zpracování marketingových dat prostřednictvím ETL nástroje Bizzflow a v podstatě tak představit velmi krátký příběh, jak jsem se dostala z nápadu až k hotovému dashboardu.
Jaká byla zkušenost s průběhem certifikace Bizztreatu dle standardů ISO/IEC 27001🛡️? | Mňamka #489
Víte, co všechno obnáší certifikace ISO 27001 a jak je tento proces v různých organizacích odlišný? V našem nejnovějším článku vám přinášíme pohled na to, jaký byl proces certifikace u nás v Bizztreatu. Od analýzy a přípravy přes revizi a donastavení systému ISMS až po interní audit a finální externí certifikaci. Dozvíte se o spolupráci s externím partnerem, výzvách spojených s přípravou dokumentace a co vše obnášelo získání certifikace pro naši firmu. A jaký je výsledný dojem z celého procesu? Přečtěte si o tom, proč je certifikace ISO 27001 pouhým začátkem dlouhodobé cesty k zajištění bezpečnosti informací.