V Keboole jsou komponenty bloky, ze kterých se skládá Data Flow (pipeline). Jsou to prvky v ETL/ELT procesu, pomocí kterých se napojujeme na zdroj dat (source) nebo cíl dat (destination). Díky komponentám jsme schopni data přenášet. Díky demokratizačním nástrojům jako je Keboola není potřeba umět programovat, protože Keboola komponenty jsou již připraveny v aplikaci, stačí pouze doplnit přihlašovací údaje.
V minulém článku jsem Keboolu představil a ukázali jsme si jak aplikace vypadá – ETL | Keboola Free (zdarma) – Vytvoření projektu, základy. Před tím, než začneme dělat naše první Flow v Keboole, se podíváme podrobněji na komponenty, ze kterých se Flow skládá.
Keboola komponenty – úvod, omezení free plánu
Komponenty můžeme v Keboole rozdělit na 3 kategorie
- Zdroj (source) komponenty – připojí se ke zdrojovému systému, na základě nastavení komponenty načtou data a pošlou je dál v pipelině.
- Cíl (destination) komponenty – Převezmou si data z předcházejícího bloku (např. source komponenta nebo nějaký transformační blok) a uloží je do cílového systému – destination (např. datový sklad nebo nějaké storage úložiště)
- Aplikace (application) – jsou speciální typy komponent, které zajišťují aktivity různého charakteru. Tyto komponenty jsou vytvořeny přímo Keboolou nebo mohou být vytvořeny i 3. stranou.
Konektory najdeme v sekci Components kde vidíme seznam vytvořených a nakonfigurovaných komponent. Tyto komponenty používáme ve Flows a můžeme je modulárně používat v různých flows pokud potřebujeme. Dokumentaci najdete v Keboole je zde.
Počet komponent, které má k dispozici platící zákazník je vyšší než ve free plánu. V Keboola plánu zdarma máme k dispozici dle Keboola 200+ různých konektorů (datum 2024-02-06), což pro naprostou většinu scénářů stačí.
Seznam komponent v Keboole, členění a počet
Když v Keboole klikneme v přehledu komponent na add new component, dostaneme se do prostředí kde si můžeme konektory prohlédnout a najít ten, který potřebujeme
Struktura výběru, kterou vidím já ve Free plánu je následující
-
- Data Source (172)
- Data Destination (53)
- Application (36)
B) Filtrování dle kategorie
-
- API (11)
- Accounting (5)
- Advertisement (17)
- Analytics (14)
- CRM (17)
- Data Visualization (8)
- Database (34)
- E-commerce (4)
- ERP (10)
- File Storage (23)
- Marketing (23)
- Monitoring (8)
- Project Management (5)
- Social (7)
Trošku mě mrzí, že pokud sečtu v listingu komponent podle kategorií počet komponent, které mi to nabízí, tak se dostanu na číslo 186 a nikoliv 200+ jak je deklarováno na stránce s pricingem u free plánu (datum 2024-02-06). Navíc je potřeba ještě zohlednit fakt, že komponenta typu source a destination u stejného systému (např SQL Server databáze) je brána za 2. To znamená, že celkové množství systémů (nezávisle na tom jestli je to source nebo destination) je ještě nižsí než 186.
Důležité ale je, že tam vidím všechny konektory na služby, které dnes většina z nás používá.
Keboola komponenty – konfigurace a authentikace
K tomu aby komponenta v rámci Flow fungovala správně, je potřeba tuto komponentu nakonfigurovat – tzn. nadefinovat pod jakou identitou a na jaký účet se ke komponentě připojujeme. To se děje různými způsoby podle toho, jaký způsob autorizace používá ten který systém.
1) Například v případě databází typu SQL server vypadá nastavení takto:
Nastavujeme klasické přihlašovací údaje s tím, že můžeme (a správně bychom měli) spojení realizovat šifrovaně přes SSH tunel, což vyžaduje dodatečná nastavení (certifikát, SSH keys).
2) V případě cloudových databází a úložišť např. google drive nebo cokoliv jiného máme na výběr z několika způsobů authentizace
A) Instantní (online autorizace) – autorizace přes prohlížeč
B) External autorizace (přes link) – způsob kdy přes autorizační aplikaci vygenerujeme odkaz přes který se po omezenou dobu 48 hodin může autorizovat uživatel/aplikace.
C) OAtuh 2.0 přes client a secret – v aplikaci kam se chceme připojit vygenerujeme přihlašovací pár client a secret (heslo)
3) Interakce s Keboola Storage – další způsob konfigurace je potřeba nastavit pokud komunikujeme v rámci flow s Keboola storage. V tomto případě komponenta vyžaduje přístupový token, který je potřeba založit na úrovni Keboola aplikace. Přes tento token komponenta pak přistupuje do Keboola storage a může buď číst nebo zapisovat do nějakého bucketu (folder/kontejner na soubory) podle toho co je v rámci flow potřeba.
V případě screenshotu níže máme v nastavení projektu vytvořen token, který má právo na čtení v bucketu GA_janzednicekcz, který obsahuje data stažená z mého Google analytics účtu.
Komponent v Keboole je velké množství, ale v zásadě se způsoby autorizace budou opakovat s nějakými odlišnostmi kolem 3 zmíněných viz. výše.
Je potřeba pamatovat vždy na to, že bezpečnost je přednější než rychlost, takže snažme se volit vždy tu nejvíce zabezpečenou možnost autorizace, zejména pokud jde o citlivá data.