V předchozích článcích jsem ukazoval, jak jednoduché je v Keboole založit svoje první data flow a podrobněji jsme se podívali na páteřní prvky Flow což jsou Keboola komponenty a jejich nastavení. Jestliže páteřními prvky každého flow jsou komponenty, tak jedním z hlediska celé architektury je klíčová Keboola storage nebo-li úložiště souborů.

Kebola úložiště (Storage) – Úvod, limit u free účtu, tokeny

Keboola úložiště je klíčovým prvkem celého systému. Pokud v Keboole pustíme nějaké flow nebo jednotlivou komponentu, procesuje se vše přes storage (load souborů, uložení do tabulek apod). Keboola storage je rozdělena na 3 části:

  • Tabulky/buckety
  • Soubory
  • Úložiště jobů (logy)

Limit úložiště na počet souborů není omezen, na celkovou velikost je ve Free verzi Kebooly omezení na 250 GB. To je pro projekty menšího rozsahu dostačující.

Pokud chceme na úrovni storage provádět nějakou akci uvnitř flow, je potřeba k této akci mít založený token, kterému nastavíme příslušná práva např. čtení v případě source komponenty nebo zápis do bucketu v případě destination komponenty. Tento token pak používáme v konfiguraci dané komponety.

Tabulky a buckety v Keboole a rozdíl mezi IN a OUT

Hned první skupinou a asi i tou nejdůležitější jsou tabulky a buckety. Buckety/tables jsou v Keboole zakládány na Snowflake backendu, takže náš projekt, který máme u Kebooly používá jako storage tabulek při loadech třetí stranu. To by mělo dle Keboola dokumentace ke storage zajistit rychlejší processing a větší škálovatelnost.

Keboola Snowflake

IN a OUT buckety v Keboole

Po kliknutí na Keboola úložiště se nám objeví stránka se všemi buckety, které máme založeny viz níže

Keboola buckets and tables

Můžete si všimnout, že u každého bucketu je napsáno IN nebo OUT. Jde o interní značku, která slouží k tomu aby bylo vidět:

  • která data slouží třeba jako vstup do nějaké transformace nebo jsou součástí nějaké loadovací komponenty v případě IN
  • která data jsou výsledkem transformace nebo třeba finální tabulkou, kterou jsme naimpotovali v případě OUT

Buckety si můžeme označovat jak potřebujeme. V případě screenshotu výše jsou založeny 4 buckety typu IN protože mám 4 flow. V těchto IN bucketech jsou tabulky, které importujeme prostřednictvím source komponenty viz dále.

Keboola zpracování flow z hlediska storage a performance

Keboola si automaticky pro všechny source komponenty zakládá IN bucket a tabulky si před tím, než je pošle do destination komponenty, sem uloží.

Na screenshotu dole vidíme, že bucket AdventureWorks IN obsahuje několik tabulek, které jsou loadovány prostřednictvím source komponenty AdventureWorks_Sqlcentral a slouží jako mezivrstva pro zpracování daného flow jehož součástí je komponenta. Zároveň tato vrstva může posloužit jako auditní prvek např. při dohledávání nesrovnalosti v datech (je zde vidět poslední nahraná dávka).

Poznámka k performance: Tento způsob zpracování Flow bude výrazně pomalejší než poslat data z bodu A do bodu B napřímo třeba přes SSIS Kingswaysoft (který také nabízí řadu konektorů na různé systémy). Například v případě našeho flow SQL Server databáze – Google Drive kde máme pouze source-destination komponenty

  1. Přečteme data z SQL Server (source komponenta)
  2. Uložíme je do Snowflake table bucket IN (source komponenta)
  3. Načteme data ze Snowflake table bucket IN (destination komponenta)
  4. Uložíme data do Google drive (destination komponenta)

To bude generovat režijní náklady na běh jobů, které bysme si úplně nemuseli přát pokud bychom chtěli Keboolu používat pouze jako průtokový ohřívač (source-destination). Keboola však funguje jako Data platform as a service kde jsou součástí služby nejen konektory ale i databáze (váš snowflake) a storage jako taková. Používat jako Keboolu ve velkém měřítku jako průtokáč bez databáze/úložiště tedy bude generovat zvýšené režie, alespoň tedy ve Free verzi.

Keboola IN bucket

Náhled na detail tabulek

Detail tabulek se mi moc líbí a působí to na mě velmi přehledně. Na overview stránce máme nějaké základní informace o tabulce spolu se sample daty. Mohu si k tabulce a k jednotlivým sloupcům přidat Popis.

Keboola storage detail table

Dále zde vidím jaké se staly nad tabulkou události, můžu si prohlédnout sample data, poslední použití komponentami nebo si můžu třeba udělat snapshot tabulky.

Keboola table detail

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 *