Angol leírás WEB-en:
Pentaho
Community - Pentaho Community Wiki (atlassian.net)
Pentaho
Solutions: Business Intelligence and Data Warehousing with Pentaho and MySQL |
Wiley
Architektura :
Fontos állományok és könyvtárak
- 1.
.kettle könyvtár(Kettle Home
Directory : ($HOME/.kettle
- 2.
kettle.Properties :A
dinamikusan képzett változók helye a feldolgozáshoz
- 3.
shared.xml : megosztott
objektumok leírója
<?xml version="1.0"
encoding="UTF-8"?>
<sharedobjects>
</sharedobjects
- 4. db.cache - az adatbázis cache.
- 5. repositories.xml - A helyi repositories file.
- 6. .spoonrc - User interface beállítás, utoljára megnyitott transformation/job.
- 6. .languageChoice - Nyelv kiválasztása.
Telepítési elemek elérése:
Pentaho
from Hitachi Vantara - Browse /Data Integration at SourceForge.net
· Java JRE 8 x64 vagy JDK 8 x64 kell hogy legyen a
gépen.
· Töltsük le a szükséges elemeket:
o
Pentaho:
https://sourceforge.net/projects/pentaho/files/latest/download
o
JDBC driver
Oracle DB eléréséhez: http://www.java2s.com/Code/Jar/j/Downloadjdbcoraclejar.htm
o
CSV
file-ok kezeléséhez Apache Commons CSV 1.6: https://commons.apache.org/proper/commons-csv/
Telepítés során PENTAHO_HOME környezeti változó létrehozása
szükséges a telepítési könyvtár megadásával, pl. D:\Kettle\data-integration.
Java elérését is állítsuk be. ha nincs még környezeti változóként beállítva
• A
jdbc-oracle.jar file-t a ’D:\PDI\data-integration\lib’ alkönyvtárába kell
másolni a JDBC drivereket.
• A
commons-csv-1.6.jar file-t a ’D:\PDI\data-integration\lib’ alkönyvtárába kell
másolni.
• Állítsuk
be a windows-ban ezt a környezeti változót:
PENTAHO_JAVA_HOME= c:\Program Files\Java\jre1.8.0_xxx
(telepített 64 bites JRE vagy JDK könyvtára)
Spoon program – Transzformáció Új létrehozása : File > New > Transformation Ctrl + N
-
Transzformáció (Kettle Transformation -
kiterjesztés: ktr):
o
Transzformációs
lépés/elem (Step)
o
„Adatfolyam”(Hop
Alapvető transzformációs komponensek
-
Input, Output
elemek (file, tábla, Excel, OLAP, LDAP, SAP)
-
Adatok
(sorok) generálása (Generate rows):
-
Számítás
(Calculator)
-
Szűrés
(Filter rows)
-
Csoport
művelet (Group by / Memory Group by)
-
Sorba
rendezés (Sort rows)
-
Naplózás
(Write to log)
Adtafolyam/ hop létrehozása : clickeljünk a forrás
műveleti lépés(Step) objektumon majd a SHIFT lenyomása mellet húzzuk az egeret
az célt lépésre majd engedjük el a SHIFT
gombot.
Spoon program elemek – Job Új létrehozása : File > New > Job // CTRL-ALT-N
-
Munkafolyamat (Kettle Job - kiterjesztés:
kjb):
o
Elem (Job entry)
o
„Adatfolyam” (Job hop)
Alapvető job komponensek
-
Folyamatvezérlési
elemek (Start, Success, Abort, Job)
-
Transzformációk
hívása (Transformation)
-
Feltételek (Conditions) (pl file exist, folder
empty, check DB connection)
-
File műveletek
JOB-ok egymásba ágyazása
Spoon : Grafikus fejlesztői felület, itt a
transzformációk és a jobok létrehozhatóak, szerkeszthetőek.
Pan :
egy PDI parancs soros eszköz mellyel lehet futtatni a transformation -kat.
pan.bat / option : value arg1 arg2
Kitchen : egy PDI parancs soros eszköz mellyel lehet
futtatni a job-okat
kitchen.bat / option :
value arg1 arg2
A Kitchen.bat és Pan.bat parancsokkal indíthatóak, melyeket ha paraméterek nélkül futtatunk, akkor kilistázzák a választható paramétereket. Ugyan a transzformációk és a jobok funkcionálisan nagyon eltérőek, a parancssoros futtatásukban nincs sok különbség. Ezért a Kitchen és Pan paraméterei nagyjából megegyeznek.
Ezeket a következők szerint csoportosíthatjuk:
·
A futtatni kívánt job vagy
transzformáció megadása
·
Logolási beállítások
·
Használni kívánt repository
megadása
·
Az elérhető repository-k és
tartalmuk listázása.
Pan
A PDI parancs soros
eszköze, a transzformáció futtató
eszköze amely használata
Fútatás állományból
pan.bat /file:/example_transformations/example_kl.ktr
Monitoring
Bekapcsolás : Edit -> Setting->Monitoring tab
Logolás
Használat:
pan.bat /file:"D:\Transformations\KL_Dimension.ktr"
/level:Basic /log:”D:\PDI_LOG\trans.log”
Hasznos ellenőrzések:
•
Check DB Connections
•
Check Files Locked
•
Check if a Folder is Empty
•
Check Web service Availability
•
Check If Files exist
•
File Exists
•
Simple Evaluation
•
Table Exists
•
Wait for
•
Check if connected to
repository
Pentaho-val történő munka/fejlesztés során olyan fejlesztői
eszközt tudunk használni, mely segítségével kódolás nélkül, varázsló-szerű
komponensekkel, grafikus felületen lehet objektumokat létrehozni vagy
módosítani. Az eszköz segítségével olyan feladatokat is el kell tudni végezni,
mint (futás) ütemezés, az eredmények eljuttatása a felhasználókhoz, vagy
adminisztráció.
Metaadat kezelés egyszerű a Pentaho-ban mert azon túl, hogy
az összes eszköz ugyanazt a metaadat tárat használja, léteznie kell egy
robosztus módnak, mellyel keresni, tárolni, újra felhasználni és közzétenni
lehet metaadat objektumokat. (Például dimenziókat, hierarchiákat, mérőszámokat
és riport layoutokat)
Támogatja a ETL (Extract-Transform-Load,
[adat]kinyerés-átalakítás-betöltést) , tehát tartalmazza azok a tevékenységeket
és az ehhez kapcsolódó eszközöket, amelyek kigyűjtik az adatokat a
forrásrendszerekből, biztosítják ezek
átalakítását és integrálását különböző jellegű, formai és üzleti
szabályok alkalmazásával, majd betöltik az előre megtervezett és megfelelően
előkészített adattárházba. Ezt a tevékenységsort rendszeresen el kell végezni,
hogy az adattárházban kellő mértékben naprakészek legyenek az adatok.
A PBI platform képes e-maileket küldeni standard SMTP
protokollon keresztül. Mielőtt e-mailt szeretnénk küldeni, be kell konfigurálni
azt. A konfigurációs fájl az email_config.xml mely az <install
könyvtár>\penatho-solution\system\smtp-email könyvtárban található.
Az ETL motor hajtja végre az adatintegrációs feladatokat. Ez
futtatja a Pentaho Data Integration (PDI) eszközzel készült jobokat és
transzformációkat. Az ETL motor ugyan része a BI szervernek, de akár különálló
szerveren, vagy több klaszterezett szerveren is futhat.
PDI az adatkinyerés esetén ilyen a change data capture, vagy
a staging, melyek a közel valós idejű adatkinyerési folyamatokat, illetve az
extract-ok tárolására használt átmenti tárolást jelentik. A transzformáció
során olyan feladatokat kell ellátnunk, mint az adat validálás, az
adattisztítás, az adatok dekódolása és átnevezése, aggregálás vagy az
(adatbázis) kulcsok generálása. Az adat töltések során sem mindegy, hogy
dimenzió vagy tény táblát töltünk.
A Pentaho Metaadat réteg (Pentaho Metadata Layer - PML)
funkciója, hogy elfedje a felhasználók elől az SQL és az adatbázisok
komplexitását. A PML az Object Management Group Common Warehouse Metamodel
specifikációja alapján készült. A célja, hogy a Metadata Query Language-ben
(MQL) írt lekérdezésekből SQL kódot generáljon. A MQL lekérdezést a
végfelhasználó generálja azáltal, hogy a metaadat modellből előre elkészített
objektumok közül kiválasztja azokat, amelyeket szeretne megjeleníteni. A
metaadat réteg három rétegből áll: (csakúgy, mint ahogy az a CWM-ben
specifikálva van):
Fizikai réteg – Ebben a rétegben vannak eltárolva az
adatbázis kapcsolatok és az adatbázis objektumok fizikai reprezentációi. SQL
kód generálásakor ettől a rétegtől kapja a PML az adatbázis attribútumok
információit.
Üzleti réteg – Középső fordító réteg, ahol a
technikai adatbázis attribútumokat felhasználó barátibb leírásokkal látják el.
Üzleti nézet – Megmutatja és újra szervezi az üzleti
réteget a felhasználók számára.
A transzformációk
meg valósítják a szűk értelemben vett ETL feladatokat. A
transzformációk adat orientáltak és lépései rekord folyamokkal (record steam)
dolgoznak. A lépések különböző feladatokat tudnak ellátni, melynek
végeredményeit átadja a következő lépésnek. Az egyes lépéseket összeköthetjük
(úgynevezett hopokkal), melyeket olyan csővezetékeknek tekinthetjük, melyeken
az adatok áramolnak. A feldolgozás során a transzformáció lépései egyidejűleg
és aszinkron módon hajtódnak végre. Például azon lépések melyek az adat
generálásáért felelősek (például adatbázis tábla vagy fájl beolvasás), elkezdik
a beolvasást, de amint beolvastak, már egyből továbbítják a következő lépésnek,
ami átalakítja azokat.
A jobok
Egy job egy vagy több transzformációból áll, de tartalmazhat
job-ot is. A jobok a transzformációk vezérlésére valók. Fontos különbség, hogy
míg egy transzformáció adat orientált, addig egy job feladat orientált. A job
szabályozza a transzformációk végrehajtásának sorrendjét.
Ha példával akarjuk szemléltetni, akkor egy csillag sémát
töltése erre a legjobb példa. Erre készíthetünk egy job-ot. Az egyes
transzformációk végzik egy-egy tábla töltését, míg a job azt szabályozza, hogy
először a dimenzió táblák töltése történjen meg, majd utána a tény táblák. A job-ok
lépéseit is összeköthetjük hop-okkal, amiken azonban nem utazik semmi, csak a
végrehajtási sorrendet szabályozza az előző lépés futtatásának státusza alapján
(sikeres vagy sikertelen). A job-ok lépési ugyan főként transzformációk,
azonban számos olyan segédfeladatot is elláthatnak, mint például adatbázis
táblák vagy fájlok törlése, fájlok másolása FTP-n, HTTP-n, vagy e-mail küldés.
Megjegyzések
Megjegyzés küldése