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:
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:
Adatbázis beírás:
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
Bemutató video
Természetesen más forrás adatokra is készíthető betöltő modell.
Knime futtatása CMD ablakban:(kl.bat file tartalma):
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:
Ilyen például egy könyvtárban levő csv fájlok tömeges betöltő modell prototípusa:
Megjegyzések
Megjegyzés küldése