Sie sind auf Seite 1von 102

Business

Business

Intelligence
Intelligence

Business
Business
Inte
Inte
lligence
lligence
Proceso ETL: Extract, Transform and Load

Business
Business
Inte
Inte
lligence
lligence
Proceso ETL: Extract, Transform and Load
Est formado por 3 pasos:

Extraccin. Consiste en la obtencin de los


datos de sus fuentes. Para facilitar su
manipulacin ! no afectar el rendimiento de los
sistemas de produccin, los datos se cargan en
una "#$ pro%isionalmente ! fuera del &orario de
la 'ornada laboral.
(na base de datos "#$ )"perational #ata $tore*
sir%e para +ue en ella se efect,en las
operaciones de transformacin ! %alidacin
pre%ias a pasar los datos al #ata -are&ouse.

Business
Business
Inte
Inte
lligence
lligence
"r.genes de datos:

Bases de datos relacionales )$/L*: Postgre$/L,


0!$/L, $/L $er%er, "racle, etc.

$istemas E1P )Enterprise 1esource Planning* como


el $2P, "racle financial, 3#Ed4ars. 2 %eces se
re+uieren licencias para acceder a &erramientas +ue
nos comuni+uen con ellos.

5o'as de clculo )Excel 6.xls, .xlsx7, "pen "ffice


6.cs%7*

Bases de datos de escritorio )2ccess 6.mdb, .accdb7,


"pen "ffice Base, 8ox Pro, #Base 6.dbf7, etc.*

#atos estructurados externos

#atos en formato 90L

#atos "nline

2rc&i%os de texto separados por comas, pipes 6:7,


espacios, etc.

Business
Business
Inte
Inte
lligence
lligence
Proceso ETL: Extract, Transform and Load
Transformacin. $on las operaciones necesarias
para integrar los datos aplicando las reglas del
negocio, es decir, son funciones +ue se aplican
sobre los datos extra.dos para:

$eleccionar las columnas a cargar.

(nir datos de m,ltiples fuentes.

Traducir cdigos. E'emplos:

& &ombre, m mu'er;

< &ombre, = mu'er

Codificar %alores. E'emplos:

Estado de 0>xico 0E9

Ba'a California $ur BC$



Business
Business
Inte
Inte
lligence
lligence
Transformacin

"btener nue%os %alores calculados. E'emplo:

consumo?gasolina @ litros A precio

ganancia @ precio?%enta B precio?compra

Calcular totales.

Cenerar campos cla%es para la B# destino.


Lla%es subrogadas.

#i%idir columnas. E'emplo:

nombre D nombres E apellido?paterno E


apellido?materno

direccion D calle E numero E colonia E


delegacion E codigo?postal

Business
Business
Inte
Inte
lligence
lligence
Transformacin
Crear .ndices.

#esagregacin de columnas en diferentes


tablas.

Falidacin de datos:

Tipo de dato

Falores en rango

Estructura. E'emplo: 18C, C(1P

0ane'o de datos errneos:

mane'o de excepciones

datos nulos

Business
Business
Inte
Inte
lligence
lligence
Proceso ETL: Extract, Transform and Load
Carga. En esta parte del proceso, es cuando se
introducen los datos !a depurados en el sistema
destino. Puede efectuarse de dos formas:

acumulacin simple: se acumulan las


transacciones ! se recalculan los totales.

rolling: se usa cuando se +uieren mantener


Gni%eles de granularidadH, la informacin se
almacena en ni%eles 'err+uicos o %arias
dimensiones )totales diarios, semanales,
mensuales, etc.*

Business
Business
Inte
Inte
lligence
lligence
Proceso ETL: Extract, Transform and Load
2l efectuarse la carga se acti%an todas las
restricciones ! triggers )disparadores* ! se &acen
las %alidaciones correspondientes:

%alores ,nicos

integridad referencial )en su caso*

campos obligatorios

rango de %alores, etc.


Las &erramientas ETL permiten el procesamiento
en paralelo puntos de sincroniIacin ! puntos de
actualiIacin.
La carga de los datos, dependiendo de sus
caracter.sticas ! %olumen puede darse en
paralelo o secuencialmente.

Instalacin: Penta&o #ata
Instalacin: Penta&o #ata
Integration
Integration
cd JoptJpenta&oJdataKintegrationJ
.Jspoon.s&

Penta&o #ata Integration
Penta&o #ata Integration

Configuracin del repositorio: E1#KLettleK1epositor!


La primera ocasin +ue se ingresa a $poon se ofrece la
opcin de configurar el repositorio. $e ofrecen dos
opciones para el almacenamiento de nuestras
transformaciones ! 'obs:
Repositorio: Todo se almacena en una base de datos,
con una estructura especial, donde son guardadas las
transformaciones ! traba'os construidos. Puede ser ,til
para el traba'o en e+uipo ! para disponer de un lugar
centraliIado donde se %a registrando todo lo
realiIado. 2dems se trata de una alternati%a ms
segura )los arc&i%os .Mtr ! .M'b no son compilados por
lo +ue pueden ser editados manualmente*.

Penta&o #ata Integration
Penta&o #ata Integration

Configuracin del repositorio: E1#KLettleK1epositor!


Archivos: las transformaciones ! traba'os son guardados
a ni%el del sistema de fic&eros, en arc&i%os 90L )con
extensin .Mtr para las transformaciones ! .M'b para los
'obs*. Cada transformacin ! traba'o tiene un arc&i%o
asociado, +ue inclu!e en formato XML los metadatos
)+ue definen su comportamiento*.
Para configurar el repositorio, debe darse clic al botn NEN
para agregar uno nue%o. $e muestra una %entana
emergente donde se pregunta si se desea una base de
datos o un sistema de arc&i%os.

Penta&o #ata Integration
Penta&o #ata Integration

Configuracin del repositorio: E1#KLettleK1epositor!


$e abre una %entana de pg2dmin para crear la B#
para el repositorio: MettleKrepositor!

Penta&o #ata Integration
Penta&o #ata Integration

Configuracin del repositorio: E1#KLettleK1epositor!



Penta&o #ata Integration
Penta&o #ata Integration

Configuracin del repositorio: E1#KLettleK1epositor!



Penta&o #ata Integration
Penta&o #ata Integration

Configuracin del repositorio


-indo4s

Penta&o #ata Integration
Penta&o #ata Integration

Configuracin del repositorio



Penta&o #ata Integration
Penta&o #ata Integration
Configuracin del repositorio (buntu.
2brir el P#I JoptJpenta&oJdataKintegrationJspoon.s&

Penta&o #ata Integration
Penta&o #ata Integration
Configuracin del repositorio (buntu.
2brir el P#I JoptJpenta&oJdataKintegrationJspoon.s&

Penta&o #ata Integration
Penta&o #ata Integration
Configuracin del repositorio (buntu.

Penta&o #ata Integration
Penta&o #ata Integration
Configuracin del repositorio (buntu.

Penta&o #ata Integration
Penta&o #ata Integration
Configuracin del repositorio (buntu.

Penta&o #ata Integration
Penta&o #ata Integration
(buntu

Penta&o #ata Integration
Penta&o #ata Integration
-indo4s

Penta&o #ata Integration
Penta&o #ata Integration
-indo4s

Penta&o #ata Integration
Penta&o #ata Integration
-indo4s

Penta&o #ata Integration
Penta&o #ata Integration
Barra de &erramientas

Penta&o #ata Integration
Penta&o #ata Integration

Conexiones
)$&are*

Penta&o #ata Integration
Penta&o #ata Integration

Conexiones -indo4s

Penta&o #ata Integration
Penta&o #ata Integration

Conexiones

Penta&o #ata Integration
Penta&o #ata Integration

Conexiones ubuntu
Tools -iIard D Create #atabase D Connection

Penta&o #ata Integration
Penta&o #ata Integration

Conexiones ubuntu

Penta&o #ata Integration
Penta&o #ata Integration

Conexiones ubuntu

Penta&o #ata Integration
Penta&o #ata Integration

Conexiones ubuntu
Con s&are !a no tenemos +ue &acer la
conexin en cada paso, se almacena.

Penta&o #ata Integration
Penta&o #ata Integration
Transformaciones
La transformacin es el elemento bsico del diseOo
de un proceso ETL, est compuesta de pasos
)steps* +ue estn conectados entre s. a tra%>s de los
saltos )&ops* . (na transfomacin no es un
programa o un e'ecutable, es un con'unto de
metadatos en 90L +ue le indican al motor de P#I las
acciones a realiIar. Los steps estn agrupados por
categor.as, ! cada uno de ellos est diseOado para
cumplir una funcin determinada. Cada paso tiene su
%entana de configuracin donde se indican los
elementos a tratar ! su comportamiento. Los steps
de una transformacin se procesan de manera
simultanea ! as.ncrona.

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones

Penta&o #ata Integration
Penta&o #ata Integration
5ops
Los &ops son el elemento a tra%>s del cual flu!e la
informacin entre los diferentes pasos. 5a! un cdigo
de colores para identificar las propiedades de los
&ops:

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: ).Mtr*

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: 2dd a c&ecMsum



Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: 2dd %alue c&anging


se+uence

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: leer C$F con errores


1eading customer data 4it& errors

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: encr!pted?p4d

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: Calculate median and


percentiles

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: #ata Falidator



Penta&o #ata Integration
Penta&o #ata Integration
(saremos como e'emplo la base de datos -orld
Class 0o%ies )-C0*, la cual usa dos bases de
datos en su negocio, uno para la operacin !
otro para sus tiendas en la 4eb. El mane'o de
productos est atado a los dos procesos.
-C0 usa las tablas de las normas I$" P3Q !
3<PP para codificar ! nombrar lengua'es, pa.ses
! estados )regiones*.

Penta&o #ata Integration
Penta&o #ata Integration

El n,cleo son los clientes, productos ! rdenes.

#os tipos de rdenes: de compra ! de clientes.

Los productos de compran a distribuidores ! son


recibidos en almacenes en donde son re%isados
por empleados.

Cada orden de compra se &ace por un empleado


a cierto distribuidor, con %arias partidas.

(na partida de una orden de compra consiste de


un item, una cantidad ! el costo del producto.

En la orden de compra se define el almac>n


destino.

Los empleados cuentan con una descripcin de


su traba'o ! traba'an en un almac>n especifico.

Penta&o #ata Integration
Penta&o #ata Integration

Los almacenes, empleados, clientes !


distribuidores tienen una direccin.

Cada direccin est localiIada en una cierta


regin, ! cada regin es parte de un pa.s.

Las rdenes de los clientes se &acen en un


4ebsite ! pueden contener una promocin.

Las promociones son ciertos productos )%ersiones


en #F#* ! pueden tener un precio de %enta
reba'ado, un precio de renta reba'ado, un periodo
extendido de renta o un combinacin de ellos.

(na orden de un cliente consiste de una o ms


partidas, con un producto diferente por partida.

Penta&o #ata Integration
Penta&o #ata Integration

El negocio se basa en la renta ! %enta de pel.culas

El cliente las pide por medio de un catlogo en la


4eb

$e le cobra como %enta

$i despu>s de %erla decide slo rentarla, la


regresa ! se abona a su cuenta la diferencia entre
renta ! %enta.

El almac>n debe &acer un pedido nue%o por cada


pel.cula %endida.

Penta&o #ata Integration
Penta&o #ata Integration
Crear la base de datos de pruebas 4cm con
el ps+l como usuario postgres

sudo Ksu postgres

ps+l

C1E2TE #2T2B2$E 4cm -IT5 "-RE1 @


postgres;

Sc 4cm

Si ..JHruta?arc&i%oHJ4cm?dump.s+l

Penta&o #ata Integration
Penta&o #ata Integration

Base de datos %cm



Penta&o #ata Integration
Penta&o #ata Integration

Base de datos %cm



Penta&o #ata Integration
Penta&o #ata Integration
Tablas de la base de datos transaccional )E1*

Penta&o #ata Integration
Penta&o #ata Integration
0odelo de estrella para el #atamart

Transformaciones: dimension?promocion
Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?promocion
Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?promocion
Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?promocion
Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?promocion
Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?promocion
Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?promocion
Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?promocion
Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?promocion
Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?promocion
Penta&o #ata Integration
Penta&o #ata Integration
Pg2dmin

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?distribuidor


Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?almacen

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?almacen

TransforK
macin:
dimension
?almacen

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?almacen

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?almacen

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?almacen

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?cliente

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension?producto

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones

Penta&o #ata Integration
Penta&o #ata Integration

Transformaciones: dimension Tiempo



Penta&o #ata Integration
Penta&o #ata Integration
Trabaos !"obs#
(n trabao !ob# consiste en un con'unto sencillo
o comple'o de tareas con el ob'eti%o de realiIar
una accin determinada. En los 'obs se utiliIan
pasos espec.ficos )distintos de los disponibles en
las transformaciones*, inclusi%e se pueden
e'ecutar una o %arias transformaciones +ue
&a!amos diseOado. Los 'obs se e'ecutan en la
secuencia +ue le indi+uemos mediante &ops; no
se %a a iniciar un paso &asta +ue no &a!a
terminado el inmediato anterior, adems es
posible condicionar la e'ecucin de un paso al
resultado de alg,n paso anterior debido a +ue la
salida de cada 'ob da un estado >xitoJfracaso.

Penta&o #ata Integration
Penta&o #ata Integration
Trabaos !"obs#
Los 'obs estn en un ni%el superior +ue las
transformaciones, pero al igual +ue >stas son
metadatos en 90L +ue le describen al motor del
P#I la forma de realiIar las acciones.
Entrada de 'ob: es una parte del 'ob +ue e'ecuta
una tarea espec.fica. Tambi>n se mane'an los
&ops ! las notas.
Para agregar un paso entre dos pasos unidos por
un salto, se puede colocar el nue%o paso sobre el
salto, ! automticamente la aplicacin preguntar
si se desea NpartirN el salto.

Penta&o #ata Integration
Penta&o #ata Integration
Trabaos !"obs#
(na diferencia adicional entre las
transformaciones ! los traba'os es +ue en los
primeros no se permiten bucles ! en los traba'os
s..
Tambi>n &a! un trap detector de filas meIcladas,
es decir, no se permite meIclar filas de or.genes
distintos si >stas tienen estructuras diferentes.

Penta&o #ata Integration
Penta&o #ata Integration

3obs

Penta&o #ata Integration
Penta&o #ata Integration

3obs

Penta&o #ata Integration
Penta&o #ata Integration

3obs

Penta&o #ata Integration
Penta&o #ata Integration

3obs

Penta&o #ata Integration
Penta&o #ata Integration

0apeos

Penta&o #ata Integration
Penta&o #ata Integration

0apeos

Penta&o #ata Integration
Penta&o #ata Integration

0apeos

Penta&o #ata Integration
Penta&o #ata Integration
Eecucin de transformaciones utili$ando %an
)l.nea de comandos*
Pan forma parte del P#I, es una &erramienta +ue
permite e'ecutar los arc&i%os .Mtr )es decir, las
transformaciones +ue creamos con $poon* desde
la %entana de comandos )cmd*.
#esde una %entana de comandos se puede
e'ecutar una transformacin !a sea desde un
arc&i%o 90L ).Mtr* o bien desde el repositorio del
P#I, utiliIando el programa pan.s& en linux o
pan.bat en -indo4s.

Penta&o #ata Integration
Penta&o #ata Integration
Las instrucciones son:

Para e'ecutar una transformacin desde el


archivo XML !&tr# &a! +ue escribir la
siguiente linea:
'indo(s
pan)bat *file+,-+.Transformaciones.-imension
Clientes)&tr, *level+/asic 0 C+.L12.trans)log
Linux
)*pan)sh 3file4,*transformaciones*-imension
Clientes)&tr, 3level4Minimal 00 *L12*trans)log
La salida se redirige a un arc&i%o .log

Penta&o #ata Integration
Penta&o #ata Integration
Para e'ecutar una transformacin desde el
repositorio &a! +ue indicar la localiIacin de un
respositorio ! aportar usuario con cla%e:
'indo(s+
pan)bat *rep+,-'-E5, *trans+,trsfCountr6,
*dir+* *user+admin *pass+admin *level+Minimal
)e'ecutable Npan.batNE ruta*
Linux+
)*pan)sh 3rep+,test, 3ob+,7MT%test, 3dir+,*,
3user+,admin, 3pass+,admin, 3level+,Minimal,

Penta&o #ata Integration
Penta&o #ata Integration
Le%el establece el ni%el de log para la
transformacin +ue se e'ecutar:

Error: 0ostrar slo errores

Rot&ing: Ro mostrar salida

0inimal: Informacin m.nima

Basic: Informacin bsica )seleccionado por


defecto*

#etailed: Informacin detallada

#ebug: Para correccin de errores, salida mu!


detallada

1o4le%el: Informacin a ni%el de registro,


puede generar una gran cantidad de datos

Penta&o #ata Integration
Penta&o #ata Integration
Pan de%uel%e un cdigo de error basado en el
resultado de la e'ecucin:
T : La transformacin se e'ecut sin problemas.
< : "currieron errores durante la e'ecucin.
= : "curri un error inesperado durante la carga J
e'ecucin de la transformacin.
3 : Imposible preparar e inicialiIar la transformacin.
U : La transformacin no pudo ser cargada desde el
arc&i%o 90L el repositorio.
V : Error al cargar pasos complementos
)generalmente error al cargar uno de los
complementos*
Q : Impresin del uso de la l.nea de comandos

Penta&o #ata Integration
Penta&o #ata Integration
Eecucin de trabaos utili$ando 8itchen )l.nea
de comandos*
Litc&en forma parte del P#I, es una &erramienta
+ue permite e'ecutar los arc&i%os .M'b )es decir,
los 'obs +ue creamos con $poon* desde la
%entana de comandos )cmd*.
#esde una %entana de comandos se puede
e'ecutar una traba'o !a sea desde un arc&i%o
90L ).M'b* o bien desde el repositorio del P#I,
utiliIando el programa Mitc&en.s& en linux o
Mitc&en.bat en -indo4s.

Penta&o #ata Integration
Penta&o #ata Integration
Las instrucciones son:

Para e'ecutar un traba'o desde el archivo


XML !&tr# &a! +ue escribir la siguiente linea:
'indo(s
&itchen)bat *file+C+.trabaos.pb)&b *level+/asic
0 C+.L12.trans)log
Linux
)*&itchen)sh 3file4,*trabaos*ob)&b,
3level4Minimal 00 *L12*trans)log
La salida se redirige a un arc&i%o .log

Penta&o #ata Integration
Penta&o #ata Integration
Para e'ecutar un traba'o desde el repositorio
&a! +ue indicar la localiIacin de un repositorio !
aportar usuario con cla%e:
'indo(s+
&itchen)bat *rep+,-'-E5,
*ob+,trsfCountr6, *dir+* *user+admin
*pass+admin *level+Minimal
)e'ecutable NMitc&en.batNE ruta*
Linux+
)*&itchen)sh 3rep+,test, 3ob+,7MT%test, 3dir+,*,
3user+,admin, 3pass+,admin, 3level+,Ro(level,

Penta&o #ata Integration
Penta&o #ata Integration
Le%el establece el ni%el de log para el traba'o +ue
se e'ecutar:

Error: 0ostrar slo errores

Rot&ing: Ro mostrar salida

0inimal: Informacin m.nima

Basic: Informacin bsica )seleccionado por


defecto*

#etailed: Informacin detallada

#ebug: Para correccin de errores, salida mu!


detallada

1o4le%el: Informacin a ni%el de registro,


puede generar una gran cantidad de datos

Penta&o #ata Integration
Penta&o #ata Integration
Pan de%uel%e un cdigo de error basado en el
resultado de la e'ecucin:
T : El traba'o se e'ecut sin problemas.
< : "currieron errores durante la e'ecucin.
= : "curri un error inesperado durante la carga J
e'ecucin del traba'o.
3 : Imposible preparar e inicialiIar el traba'o.
U : El traba'o no pudo ser cargado desde el arc&i%o
90L el repositorio.
V : Error al cargar pasos complementos
)generalmente error al cargar uno de los
complementos*
Q : Impresin del uso de la l.nea de comandos

Das könnte Ihnen auch gefallen