Pentaho Data Integration, es l'alicació ETL que ens permet extraure la informació de les fonts de dades (preferiblement APIs), transformar-les en el format requerit i carregar-les al magatzem de dades de la organització (BD Oracle, esquema MG02).
Actualment podem dir que disposem de com a mínim 4 magatzems de dades en Oracle: HG2, MG01, MG02, MG03.
Un projecte de Pentaho consisteix en l'elaboració de processos de transformació que gestionen l'extracció de dades des de una font origen y la inserció de les dades en una fotn destí. En el nostre cas les fonts origen poden ser API's habilitades a través de Internet, fitxers locals que l'usuari pot preparar i contingut de pàgines web. De la mateixa manera podem dir que les fonts destí són o bé fitxers de sortida majoritàriament en format .csv o d'altres, o bé la Base de Dades Oracle o Mongo DB.
Els processos de ETL de Pentaho es consisteixen en processos de transformació (.ktr) i processos jobs (.kjb).
La diferència bàsica entre un job i una transformació, és que el job determina l'ordre d'execució de les transformacions. Les transformacions són les que gestiones el processament dels registres que s'extrauen, es transformes i es guarden.
Un procés d'extracció d'un dataset està format per:
El conjunt de processos Pentaho actius de la corporació han de residir en el repositori de productiu, anomenat PentahoRepositori. Actualment aquest repositori es gestiona sobre una base de dades hsqldb que és la que ve per defecte amb la instal·lació de Pentaho Server.
El Pentaho Server està instal·lat en el servidor sw0301.
L'entrada de dades dels processos estarà ubicada en URIs o seran fitxers ubicats en carpetes del servidor d'aplicacions NAS, on els Serveis encarregats de gestionar les dades disposaran d'un conjunt de carpetes que seguiran una definició estandarditzada. En aquesta estructura de carpetes també pot haver-hi espais on els processos dels servidor poden generar els possibles fitxers de sortida.
Estructura de carpetes per extracció d'un Dataset [1]
Estructura de les dades d’entrada [2]
Taules de control de la Base de Dades [3]
Veurem l'estructura de carpetes que organitzen els processos ETL que alimenten un repositori de dades concret, per exemple MG02 que és el repositori generat pel projecte de Canvi Climàtic (QV_CANVI_CLIMATIC):
A continuació expliquem l'estructura, els seus nivells i una breu descripció:
(Configuració variables del sistema) [4]
[Nom Repositori]
00.Configuracio (Configuració global del projecte canvi climàtic) [5]
01.Jobs (Jobs globals, que es fan servir en totes o varies fonts.) [6]
02.Transformacions
03.Font [nom_procés]
00.Configuracio: Conté el fitxer config.properties, és el fitxer de configuració de variables locals [7], és a dir únics de el procés [nom_procés].
01.Jobs: Conté els jobs del procés [nom_procés] (Variables definides a nivell de job.) [8]
02.Transformacions: Conté les transformacions del procés [nom_procés]01.Subtransformacions: Si aplica, conté llavors les transformacions que es fan servir dins d'una altra transformació del procés [nom_procés].
05.Output:
00.Configuracio: Conté el fitxer config.properties, és el fitxer de configuració de variables locals, és a dir únics de el procés 05.Output.
01.Jobs: Conté els jobs del procés 05.Output.
02.Transformacions: Conté les transformacions del procés 05.Output.01.Subtransformacions: Conté les transformacions que es fan servir dins d'una altra transformació del procés 05.Output.
L'estructura dels fitxers d'entrada estarà ubicada a la carpeta departamental del Servei encarregat de emmagatzematge de les dades del repositori.
A continuació expliquem l'estructura, els seus nivells i una breu descripció
03.Font [nom procés]: Nom del procés.
03. Fitxers d’entrada: En aquesta carpeta s'ha d'ubicar el fitxer d'entrada.
Processats: Quan el fitxer s'ha processat es mou a aquesta subcarpeta
Enllaços:
[1] https://comunitatdstsc.diba.cat/wiki/estructura-de-carpetes-per-extraccio-dun-dataset
[2] https://comunitatdstsc.diba.cat/wiki/estructura-de-les-dades-d-entrada
[3] https://comunitatdstsc.diba.cat/wiki/taules-de-control-de-base-de-dades
[4] https://gestioprojectes.diba.cat/projects/qv_canvi_climatic/wiki/(Configuraci%C3%B3_variables_del_sistema)
[5] https://gestioprojectes.diba.cat/projects/qv_canvi_climatic/wiki/(Configuraci%C3%B3_global_del_projecte_canvi_clim%C3%A0tic)
[6] https://gestioprojectes.diba.cat/projects/qv_canvi_climatic/wiki/(Jobs_globals_que_es_fan_servir_en_totes_o_varies_fonts)
[7] https://gestioprojectes.diba.cat/projects/qv_canvi_climatic/wiki/Fitxer_de_configuraci%C3%B3_de_variables_locals
[8] https://gestioprojectes.diba.cat/projects/qv_canvi_climatic/wiki/(Variables_definides_a_nivell_de_job)
[9] https://gestioprojectes.diba.cat/attachments/22214
[10] https://gestioprojectes.diba.cat/attachments/22215