Ugrás a fő tartalomra

KNIME alapok : ETL funkció

ETL (Extract, Transform and Load) 



Általában adattárházban az alábbi adatbázis műveleteket értjük rajta:

  • Forrás rendszerekből / operatív rendszerekből történő adat kinyerés
  • Transzformálás
  • Betöltés (adattárházba)
Fontos művelet még az adatminőség ellenőrzése, adattisztítás (cleaning)


Adat gazdagításra, korrekciózásra, kód megfeleltetésre konverziós kézi táblákat használunk.

Van mondjuk 100 xls fájlt egy könyvtárban, amely kód megfeleltetés (termékek, szolgáltatások, szervezetek, státuszok, .. hierarchikus, historikus besorolását valósítják meg.

Hogyan lehet ezt egyszerűen, automatikusan bővíthetően megvalósítani?

Pár megkötés, névkonvenció kialakítása, .. szükséges a folyamat kialakításához, de az estköz lehet a KNIME.

KNIME telepítéssel program indítással, alapokkal most nem foglalkozom.

Ezekre akár nagy mennyiségben is szükség lehet adattárház ill. adat piac építésnél.



Feladat megfogalmazása:


Egy prototípus készítést írok le amely könyvtárban levő xls kiterjesztésű állományokat kikeresi egyenként beolvassa és tartalmát névkonvenció mentén oracle adatbázis séma tábláiba tölti (táblát előbb létrehozza, ha még nem létezik, ha van benne adat előbb kiüríti a táblát).

A gyorsaság oltárán feláldozzuk a mező értelmezést és minden oszlopot szöveges mező típusba töltjük.

Megvalósítás:

Állományok érkeztető könyvtára : c:\kl\munka\xls













Knime modell kiinduló helyzete:




Oracle adatbázis séma nem tartalmaz táblát:












Krime modell futtatása utáni helyzet:















Oracle adatbázisban megjelennek az új táblák
























Egyes Knime nodok beállitása:


File lista felolvasó aktuális könyvtár megadásával:

























Excel állomány olvasó:






























Állomány névből tábla név kimetszése (szöveg maniuláció):


























Szöveg metsző függvény a teljes elérési utat tartalmazó szting név meghatározó részét metszi ki:

substr($Location$,16,length($Location$)-21 ) 



Itt nem kezelem a file név extra hosszt, ha a filenév 1000 karakter hosszú, akkor az oracle táblanév képzésnél nem használható közvetlenül (ez futás hibát okoz majd).




Könyvtár végig olvasó ciklus kezdet:


































Könyvtár végig olvasó ciklus vége:




































Adatbázsis kapcsolat beállítása  (JDBC kapcsolat oracle adatbázishoz):




































Adatbázis beírás:






































Knime futtatása CMD ablakban:(kl.bat file tartalma):


c:\prg\knime\eclipsec.exe -consoleLog -nosplash -reset -nosave -application org.knime.product.KNIME_BATCH_APPLICATION -workflowDir="c:\Users\klajos\knime-workspace\KNIME_xls2tb_tbl" 
pause
exit




VIDEO :



Bemutató video

Természetesen más forrás adatokra is készíthető betöltő modell.
 pl. csv, txt. xlsx, ..



Ilyen például egy könyvtárban levő csv fájlok tömeges betöltő modell prototípusa:

















Tábla tartalmak összehasonlítása : Table Difference Finder noddal








Megjegyzések