Ugrás a fő tartalomra

PDI Pentaho Data Integrátor (Kettle) Hitachi Vantara // 9.3 alapok


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.

Az adatbázis kapcsolat jdbc jar állományát *.jar  be kell másolni a  “...\data-integration\lib” könyvtárba.
(A tényleges használathoz még egy újra indítás is szükséges : Spoon.bat)
Pl:
c:\Users\User\Documents\prg\pentaho\data-integration\lib\derby-10.14.2.0.jar
c:\Users\User\Documents\prg\pentaho\data-integration\lib\hsqldb-2.3.2.jar


További bővítmények eszközök a piactérről szerezhetőek be. Ez a Tools menű pontból a Marketplace kiválasztással indítható el.


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




Hiba kezelés : Step kijelőlés és helyi menűkérés majd Define Error Handling…



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.


Step objektumok























XML olvasás:










Linkek:


Megjegyzések