Ugrás a fő tartalomra

Talend alapok







A talend (OS : Open Studio) rendszer egy BI rendszer, mely ETL (Extract, Transform, Load) komponensekkel van felvértezve.


Alapfogalmak

BI=> Üzleti Inteligencia definiciói:

„Az üzleti intelligencia sokféle forrásból származó adatot, információt (és tudást)
használ fel az üzleti döntéshozatalban. Az üzleti analitika (elemzés) mindezt egy újabb
dimenzióval gazdagítja: modellekkel és megoldásokat szolgáltató eljárásokkal.”
(Turban 2010).

„Az üzleti intelligencia olyan eszközök és eljárások együttese, mely lehetővé
teszi a vállalkozás alapadatainak magasabb, vezetői szintű elemzését.”(Kókai
2005)

Összefoglalva talán elmondható az, hogy az üzleti intelligencia adatokat elemez és dolgoz fel
különböző informatikai rendszerek segítségével (ezen informatikai rendszereket
hívjuk BI eszközöknek), támogatva a vezetői döntéshozatalt.


Négy BI szakaszt különböztethetünk meg:


Előállítás – ez a szakasz olyan operatív irányítási és munkafolyamattámogató alkalmazásokat tartalmaz, amelyek a vállalati információk
elsődleges forrásai.

Rendszerezés – olyan alkalmazásokat fog össze, amelyek a vállalati szintű információk konszolidációjáért és integrációjáért felelősek.

Elemzés – különböző olyan alkalmazásokat tartalmaz, amelyek a vállalati szintű információk egyszerű ill. komplex elemzését végzik.

Hasznosítás – olyan döntéstámogatási és beavatkozási alkalmazásokat fed le, amelyek az irányítási és termelési-szolgáltatási folyamatok ill. rendszerek
működésé re lehetnek közvetlen hatással.

A Talend Open Studio mint alkalmazás már 2005 óta létezik a piacon.

Nagyjából negyed évente jelentkezik egy jelentősebb frissítés, és egy-két havonta
pedig valamilyen kisebb, javító változata.

A Talend sikernek könyveli el, hogy sokan töltik le az eszközét, a megjelenés óta több száz-ezren töltötték le világszinten a különböző verziókat. Maga a Talend Open Studio a GPL v2 licenc alapján működik.

A telepítő letölthető fájlnak a mérete több száz MB, amiben megtalálható mind a Linuxos, mind a Windowsos változat.

Alapvetően Javas környezetben működik az eszköz, Windows, illetve Linux/Unix változatban.

Ami talán a Talend-et a legerősebb szereplővé teszi ebben a környezetben, az a több mint 400 komponense. A komponensek száma nagyon gyorsan bővül, köszönhetően a nyílt forráskódnak, mert nemcsak a Talend fejlesztői, de mások is tudnak hozzá komponenseket készíteni.

Pearl, Java és SQL nyelveken bővíthető, de a komponensek, amiket fejlesztenek hozzá, túlnyomórészt Java nyelven vannak programozva.

A 3.0-ás verzióban jelentek meg előszőr az ETL komponensek.

A Talend a Community Edition-ben állomány alapú adattárat (repository-t) használ.

Az ingyenes kiadás első nagyobb hiányossága, hogy amikor csoportmunkára van szükség, ami miatt egy központi adattárat (repository-t) kellene létrehozni, tehát nem állomány alapút, akkor már nem elég a Community Edition, a fizetős verziót kell használni.

A Talend képes a meta-adat alapú tervezésre és művelet végrehajtásra, futtatásra.

Alapvetően egy kódgeneráló eszközről van szó, amivel metaadatot állítunk elő azzal, hogy a grafikus felületen műveleteket végzünk a komponensekkel.

A hátránya az, hogy nem tartalmaz semmiféle meta-adat szabványt, ami alapján lehetne azt használni.

Fontos előnye, hogy a kódgenerálás azonnal meg történik, ahogy feltesszük a vászonra a komponenst, vagy módosítjuk.

A Java kódban azonnal lehet látni, hogy mi változott, ami a generált kód azonnali megfigyelhetőségét jelenti, lehetővé téve a valós idejű hibakeresést.

Akár lépésenkénti statisztikákat, logokat tudunk gyűjteni, és kijelezni.

A lépésenkénti futtatás előnye az, hogy meg lehet keresni, melyik kódsorban van a hiba, és a hibát rögtön be is lehet jelenteni a fejlesztőknél, vagy java modullal javítani.

A Talend Open Studio, ami az ingyenes verziócsomag, tartalmaz egy Business Modelling eszközt.

Talend egy másik nyílt forráskódú projektet használ fel keret rendszernek, az Eclipse fejlesztői környezetet.

Az Eclipse projekt használata első sorban a kódok újrafelhasználhatóságról szól, hogy ha egy komponenst kifejlesztenek, akkor azt máshol is fel tudják majd használni.

Különböző eszközökhöz, vagy rendszerekhez való csatlakozáshoz más-más funkcionalitás készlet van, a legegyszerűbb az, amikor írni és olvasni is tudja ezeket a rendszereket, de bizonyos esetekben sokkal szélesebb körben lehet használni.

A Talend Open Studio eddig is tartalmazott már interfészeket más zárt forráskódú üzleti alkalmazásokhoz, de az újabb verzióiban már jelent meg az SAP, és az Oracle ERP támogatása, valamint Mondrian-hoz, JasperSoft-hoz kínál megoldásokat, valamint az üzleti világból származó ERP, CRM eszközökhöz is.

Nagyon hasznos az egyedi kódoknak a gyors beépíthetősége például Java, vagy Groovy nyelven, ami a Java-nak egy szkriptelő nyelve.

Az egyik legnagyobb előnye – mindenhonnan tud adatokat betölteni, szinte bármilyen fájlt, bármilyen adatbázisból.

Az ELT üzemmódnál a kód, amit így generál, különböző SQL-eket fogalmaz meg, és azt átadja az adatbázis szervernek, ahol a műveletek elvégzése történik. Fájlokból is gyakorlatilag mindent fajtájút be tud olvasni. Nagy tömegű adatintegrációt, adatfeldolgozást és adattisztítást igénylő feladatok elvégzésére alkalmas moduláris felépítésű keretrendszer. A keretrendszer használatával egyszerűbbé válnak az adattárházak és üzleti intelligencia rendszerek különböző helyekről történő adattöltésének, adat feldolgozásának és adat tisztításának kritikus feladatai.

Sok különböző Internetes kapcsolat lehetőséggel rendelkezik, amelyekkel világháló szolgáltatásait is tudja kezelni.

A Talend egyik nagy előnye a Web szolgáltatások (Web Services), hogy különböző generált kódokat Web szolgáltatásként lehet telepíteni.

Olyan komponenssel is rendelkezik a rendszer, amellyel pingelni lehet egy hálózati gépet, hogy különböző vezérlőfolyamatokat legyünk képesek felépíteni.

A WaitForFile komponens arra jó, hogy egyszerűen megadunk egy könyvtárat, és azt, hogy milyen időközönként vizsgálja meg, maximum hányszor próbálja ezt megtenni, és amikor megjelent ott egy adott fájl, akkor indítson egy folyamatot, tehát egy trigger vezérelt betöltést tesz lehetővé.

Még érdekesebb talán az, hogy ezt SQL adatokkal is meg lehet tenni, azaz addig várjon egy alkalmazással, amíg egy táblában meg nem jelent például 50000 sor, és akkor indítsa csak el a folyamatot.

Magasabb szintű feldolgozási műveletek, normalizálás, de-normalizálás, aggregálás, egyesítés és egyéb hasonló folyamatok végrehajtására képes.

Operációs rendszer szintű parancsok kiadására van lehetőség, például SSH, vagy környezeti változók beállítására.

Nagyon komoly, jól használható XML kezelő komponensekkel is rendelkezik.

Tehát nem tipikus adattárház építő eszköz, hanem egy adatintegrációs eszköz, tehát jóval szélesebbek a lehetőségei.


SCD:
A Talend rendelkezik SCD, azaz Slowly Changing Dimension kezeléssel, tahát ha a komponens nevében benne van az SCD, akkor az olyan kódot generál, ami úgy hajtja végre az adott komponenst, hogy csak SQL-ként jelenik meg a végeredmény, amit beszúr az adatbázisba, így csak írni akarja az adatbázis kezelőt.


ELT:
Továbbá vannak még az ELT névvel kiegészített komponensek is, ami azt jelenti, hogy az adatbázis kezelő az, ami a műveleteket elvégzi, és nem a Java kliens.


Mapping:
Egy másik nagyon fontos komponens a leképezés (mapping) komponens, ez az a lehetőség, ahol különbözőek az adatforrások, és nem feltétlenül a cél, hanem átmeneti tárolóban tudjuk az adatokat mozgatni, ezt jelenti a leképezést (mappelést) ebben a környezetben. Különböző számításokat lehet az egyes mezők között végrehajtani.

A Talendben különböző környezeteket lehet létrehozni, be lehet állítani éles adatbázist, és egyéb környezeteket.


A komponenspaletta elemei, és azok főbb funkciói:

Business Intelligence: Chart, SCD, Jasper, OLAP kocka (Mondrian, Palo)
Business (ERP, CRM): Centric, MS AX (Axapta), SAP, Salesforce, SugarCRM, VtigerCRM
Custom Code: Groovy, Java
Data Quality: CRC, FuzzyMatch, IntervalMatch, ReplaceList stb.
Databases: AS400, Access, JDBC, DB2, FireBird, Greenplum, HSQLDb, Informix, Ingress, Interbase, JavaDB, LDAP, MS SQL, MaxDB, MySQL, Netezza, Oracle, Paraccel, Postgres, SQLite, Sybase, Teradata, Vertica
ELT: MySQL, Oracle, Teradata
File: Apachelog, ARFF, CSV, Excel, DIF, Mail, Regex, XML; Archive/unarchive, compare, copy, delete, Exist, filelist, rowcount, PGP
Internet: FTP, SCP, POP, RSS, SVN, sendmail, Socket, Webservice, XMLRPC
Log&Error: Assert, Chronometer, Flowmeter, LogCacther, logRow, StatCacher
Misc: Ping, Rowgenerator, Contextload, Msgbox
Orchestration: Filelist, Foreach, Loop, Pre-, Postjob, Replicate, Unite, Sleep, WaitForFile, WaitForSqlData
Processing: Normalize, Denormalize, AggregateRow, ConvertType, FilterRow, Join, Map
System: RunJob, SSH, SetEnv, System
XML: DTDValidator, Input-Outpu, ParseXMLRow, XSLT.

A Talend használatát ott érdemes megfontolni, ahol eddig kézzel kódoltak SQL-eket, és ez már kezd sokba kerülni.

Alkalmazás fejlesztők számára hasznos lehet egy ilyen eszköz használata, és az alkalmazás fejlesztők alatt nem csak azokat kell érteni, akik ETL-t fejlesztenek, hanem különböző adatintegrációs eszközöket fejlesztőket is, hiszen a Talend-ben kapott Java kódokat nagyon egyszerűen lehet felhasználni más alkalmazásokban.

Bonyolult, és összetett modelleket, adatfolyamokat is egyszerűen legenerálhatunk benne, és azt beemelhetik egy másik alkalmazásba.

Erősen heterogén környezetben nagyon jól használható a Talend.

Nyílt forráskódú környezetekben is természetesen javasolt ennek a megoldásnak a használata, mert kiválóan illeszthető bizonyos rendszerekre, jól használható együtt más alkalmazásokkal.

Hasznos lehet ez a megoldás ott is, ahol nincs keret Enterprise (nagy vállalati) megoldásokra, ahol az ár döntő tényező.

Link : https://www.talendforge.org/components/ Link
Képernyőképek : https://goo.gl/photos/iwL18onEZRceMqAX8


A szokásos “gyors” rendszer integrációs feladatoknál tud nagyon eredményes lenni.
– különböző alap rendszerek közti adat szinkronizációt,
– az rendszerekben definiált adat transzformációkat, alap adat változásokat,
stb.

A Talend egy elég rugalmas, XML formátumban tárolja az adat domain-ek metaadatait,
ebből egy kattintással generálhatóak a master data adatok és karbantartó webes felületek is.

A Taland Open Studio egy nyílt forrású adatintegrációs csomag, amelynek Eclipse alapú felülete ismerős lehet a Java fejlesztőknek.

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.


Első lépésként megnyitjuk frissen létrehozott lokális projektünket mely hatására elindul a GUI, jól strukturált, használható kezelőfelülettel jelenik meg.

A felület tagolódása:
- A bal felső részen a repository browsert találjuk.
- A Business Models menüpont üzleti folyamat modell(eke)t kapcsolhatunk projektünkhöz, növelve ezzel az áttekinthetőséget.
- 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.
- A Code menüpont tartalmaz pár előre definiált Java függvényt, és tehetjük be sajátjainkat is ha szükséges.
- Az SQL Templates SQL sablonokat tárol a különféle adatbázis-műveletekhez többféle DBMS dialektusban.
- A Metadata menüpont alatt lehet definiálni adatbázis kapcsolatainkat, 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 húzva a Talend egy párbeszédablakban
felkínálja azokat a kapcsolódó komponenseket, amellyel a metaadatot értelmezni tudja.

Egy egyszerű csv fájlt használhatunk ki- és bemeneti delimited, illetve bulk adatbetöltéshez készíthetjük elő vele az adatokat a céladatbázisnak megfelelő formátumban.


Megjegyzések