18
11/2009
4

Rágóka: Talend OS - #1

Miről sutyorog Julcsi, Borcsi? Mi az aminek hallatán kiesiek az építőkocka Józsika szájából?
Igen, hát persze, mi más, a Talend Open Studio.
Alapozzunk hát mi is egy kis Talenddel, hisz mi jobb dolgunk lehetne ezen a szürke szerda délutánon. Nem, még ahhoz korán van. Szóval kezdjük is.

 

 

 


Kivel ne fordult volna már elő, hogy elfogyott otthon az elrágcsálható leveszöldség, ezért végtelen unalmában eszébe jutott milyen lehetősége kínálkozna költséghatékonyan, ad absurdum júzerfrendli módon, kódbúvárkodás nélkül a spájz raktárkészletét a sublótban hostolt adattárházba tölteni, majd a répahámozón riportálni.
Aztán persze az ember megvakarja a hónalját, és elmúlnak az efféle nyugtalanító gondolatok.

De ha mégsem, nem busulunk, a Talend kitalálta nekünk a gyogyírt a bajra.
Az Open Studio-t.
Egy nyílt forrású adatintegrációs csomagot, amelynek Eclipse alapú felülete ismerős lehet a Javas arcoknak.
A Talend érdekessége, hogy egy új projekt létrehozásakor választhatunk, hogy az eszköz Java-ba avagy Perl-be generálja le a kódot.
A generált forráskódhoz való szabad hozzáférés könnyűvé teszi saját fejlesztésű függvények, könyvtárak alkalmazását.

Ahogy megnyitjuk frissen létrehozott lokális projektünket (a párhuzamos fejlesztést támogató centralizált repository-t a fizető vendégeknek tartogatják) és feltámad a GUI, jól strukturált, használtható kezelőfelülettel találjuk szembe magunkat. Rögtön bal felül mosolyog ránk a repository browser, nézzük mire lesz ez jó nekünk.
A Business Models menüpont elég beszédes, nem több, nem kevesebb mint amit állít magáról, üzleti folyamat modell(eke)t kapcsolhatunk projektünkhöz, növelve ezzel az áttekinthetőséget. Kódot sajnos nem tudunk belőle genererálni.
A Job Designs pontban kapnak helyet a jobok, amelyeket folderekbe szervezve, illetve hierarchikusan egymásba ágyazva, verziókövetve tárolhatunk.
A Context egy igen hasznos feature, lehetővé teszi, hogy a projektben használt változók (pl. elérési utak) értékét az itt definiált és a futtatás (illetve exportálás) alkalmával kiválasztott környezetet alapul véve határozhassuk meg.

Dev->QA->Prod promótálás alkalmával ez még jól jöhet.
A Code menüpont tartalmaz pár előre definiált Java függvényt, és ide szuszakolhatjuk be sajátjainkat is ha szükséges.
Az SQL Templates SQL sablonokat tárol a különféle adatbázisműveletekhez többféle DBMS dialektusban. Ezt jó eséllyel nem fogjuk buherálni.
Amit viszont majd fényesre kattingatunk, az a Metadata menüpont előtt burjánzó kis nyilacska lesz.
Itt fogjuk definiálni adatbáziskapcsolatainkat, a kapcsolatokon keresztül importálható tábladefiníciókat, és a különféle be/kimeneti fájlokat.

A metaadatként létrehozott elemeket a tervező nézetbe rángatva a Talend egy pábeszédablakban felkínálja azokat a kapcsolódó komponenseket, amelyként a szóban forgó metaadatot értelmezni tudja. Egy egyszerű csv fájlt használhatunk ki- és bemeneti delimited és ARFF fájlként, illetve bulk adatbetöltéshez készíthetjük elő vele az adatokat a céladatbázisnak megfelelő formátumban.

Általánosságban elmondhatjuk, hogy a Talend bővelkedik komponensekben, amelyeket hierarchikus komponenspalettán keresztül érhetünk el, és ezek láthatóságát projekt szinten igény szerint állíthatjuk. A legtöbb életszagú igény teljesítésére nagy valószínűséggel találunk a több száz komponensből megfelelőt. De ha még mindig nem jönne a boldogság, a Talend Exchange-en keresztül közvetlenül a Talendből tölthetünk le új, publikus komponenseket.

 

 

 

Ne menjetek messzire, folytatjuk...

A bejegyzés trackback címe:

https://dwbi.blog.hu/api/trackback/id/tr251534080

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

pekkerály 2009.11.19. 12:56:57

Csak egy gyors kérdés:
Tapasztalatod szerint a Java-ban generált kód nem lesz lassabb a Perl-nél?

feketeg 2009.11.19. 14:00:37

@pekkerály: A gyors válasz: a használt komponensektől függ a generált kód hatékonysága.
Egyébként javaslom itt ( www.talendforge.org/forum/viewtopic.php?id=3105 ) a második hozzászólást, a Talend Perl kódgenerálásért felelős fejlesztője szerint a Perl kód nagy adatmennyiség esetén az esetek többségében lassabb a Java kódnál, a Perl az adatbázisműveleteknél villant jobbat a Java-nál.

pekkerály 2009.11.20. 12:34:46

Értem. :)

Ha ELT-nek akarom használni, akkor meg pure SQL-eket generál? Vagy hajlandó az adott adatbázis környezetnek megfelelő tárolt eljárások generálására is?

feketeg 2009.11.20. 15:33:09

@pekkerály: Alapvetően az ELT komponensek SQL-t generálnak a Java kódba, de ha a tELT komponenst használod, az SQL Templates komponensbeállítás fülön megadhatsz neki saját SQL sablonokat. Így ha előzőleg létrehozol egy sablont, ami létrehozza az transzformációt végző sp-t, és egy másikat ami ezt az sp-t hívja a paraméterként kapott értékekkel, majd ezeket beállítod a tETL komponensben akkor működhet.
Igen, kissé körülményes:)