You are on page 1of 39

ETL

Extraccin, Transformacin y
Carga

ETL
Extraccin, Transformacin y Carga (Load)
Procedimientos (herramientas)
destinados a obtener los datos de las
fuentes operacionales
operacionales, limpiarlos
limpiarlos,
convertirlos a los formatos de utilizacin
y cargarlos en el repositorio final.

Integridad de los datos


Los datos cumplen condiciones de
integridad
g
cuando se ajustan
j
a todos
los estndares de valor y completitud.
Todos los datos del DW son correctos
El DW est completo (no existen ms
d t fuera
datos
f
d l).
de
l)

Integridad de los datos


La credibilidad del DW depende de la
integridad de sus datos
El uso del DW depende de la
percepcin de los usuarios y de la
confianza que tengan en su contenido.
De la integridad de datos depende el
xito del proyecto.

Proceso de ETL

Fu
uentes

DSA Data Staging Area

Transformacin
y limpieza

DSA
Extraccin

Transporte

DWH

Mercados de
Datos

Consume el 70% del tiempo y el esfuerzo para construir un


DWH.
Kimball ha identificado 38 subsistemas!

Proceso de ETL
Fu
uentes

Transformacin
y limpieza

DSA
Extraccin

Transporte

DWH

Mercados de
Datos

Extraccin
Las herramientas empleadas deben ser adaptables y extensibles y
deben ser capaces de filtrar los datos relevantes a extraer de las
fuentes.
La extraccin debe realizarse de forma tal que se minimice el tiempo
total requerido por el proceso.
Se realiza sobre la fraccin de los datos que fue cambiada despes de la
ejecucin anterior del proceso.
Se emplean varias tcnicas: Algoritmos para diferenciar instantneas de
los datos
datos, el anlisis de los ficheros log para reconstruir los cambios
desde la extraccin anterior y el uso de disparadores (triggers).
El proceso de identificar los datos que han cambiado se suele llamar
CDC (Change Date Capture)

La transportacion incluye tareas cruciales como por ejemplo,


compresin y descompresin, encriptacin de datos, entre otras.

Fuentes de datos habituales


Sistemas ERP:
(Enterprice Resource Planning), desde los ms sencillos a los grandes
como son Sap, Oracle Financials, JDEdwards o Navision. Sistemas
complejos a los que puede ser complicado atacar sin conocer en
profundidad su modelo de datos (pensar que Sap pueden tener hasta 70
mil tablas.
Mainframes:
en grandes empresas como bancos y compaas de seguros an se
siguen utilizando este tipo de sistemas.
Bases de Datos Relacionales:
Sistemas Operacionales (SQL Server, Oracle, PostgreSQL, MySQL, etc)
Hojas
H j de
d clculo:
l l
Tambin en ocasiones en ellas se almacena informacin complementaria
que no est en los sistemas operacionales.
p Access,, OpenOffice
p
Base,, etc).
)
Bases de datos de escritorio ((tipo
Datos estructurados externos.
Datos en formato XML.
Datos Online.

Mapeo de Datos
(f
(fuente-almacn)
t l
)
Dimensin
<atributos>

Atributo

Origen
Datos

Tipo

Transformacin Observaciones

nombre

Almacen.
nombre

Char(50)

Tomar directo

Es necesario revisar
posibles duplicados

pais

Pais.nombre

Char(30)

Tomar directo

Realizar acople de las


t bl Almacen
tablas
Al
y Pais
P i
por id_pais

carga

Mapeo
p de Datos (ms
(
detalles))
Destino
Nombre
Tabla

Nombre
Columna

Tipo de
Dato

Fuente
Tipo de
Tabla
(d/h)

Tipo
SCD

Nombre
Base de
Datos

Nombre
Tabla

Nombre
columna

Transf.
Tipo de
dato

Proceso de ETL

Fuente
es

Transformacin
y limpieza

DSA
Extraccin

Transporte

DWH

Mercados de
Datos

LIMPIEZA DE DATOS:
POR QU?

Los datos en el m
mundo
ndo real son ssucios:
cios
incompletos: faltan valores de los atributos, faltan
ciertos atributos de inters, o contienen solo
agregados de datos
con ruido: contienen errores o valores fuera de
l i
lmites.
inconsistentes: contienen discrepancias en nombre o
cdigos

La calidad de los datos determina la calidad en


la toma de decisiones!
Un almacn de datos necesita una integracin
consistente de datos con calidad.

LIMPIEZA DE DATOS
Tareas de la limpieza de datos.
Llenar
Ll
valores
l
ausentes
t
Identificar valores fuera de lmite y eliminar
el ruido en los datos.
Corregir
C
i llas iinconsistencias
i t
i d
de llos d
datos.
t
Integracin
g
de datos.

Definiciones
(Li i
(Limpieza
de
d Datos)
D t )
z

El proceso de detectar e eliminar los errores e


inconsistencias en los datos para mejorar la calidad
de los mismos
mismos. (E.
(E Rahm,2000)
R h 2000)
El proceso que trata de detectar y eliminar los
conflictos en el nivel extensional cuando se integran
dos o ms fuentes de datos. (Z. Kedad,2002)
Es el proceso que elimina errores e inconsistencias
problema de identidad de
en los datos y resuelve el p
los objetos. (H. Galhardas, 2001)
Se define como el problema de Merge/Purge.
(Hernndez y Stolfo,1982)

Problemas a resolver por


la limpieza de datos
Problema de Calidad de los datos

En una Fuente

A nivel de esquema

A nivel de instancia

(Carencias de
restricciones,
ti i
mal diseo del
esquema)

(Errores en la
entrada
t d de
d
datos)

unicidad
integridad
referencial

ortogrficos
redundantes/
duplicados
valores
contradictorios

En Mltiples fuentes

A nivel de esquema

(Modelos de
d t y diseo
datos
di
de esquemas
heterognos)
Conflictos de
nombrado
Conflictos
estructurales

A nivel de Instancia

(Datos
solapados,
l
d
contradictorios e
incosistentes)
Inconsistencias
en las
agregaciones
Inconsistencias
temporales

Ejemplos de problemas en una


nica fuente a nivel de esquemas
Alcance / Problema

Dato sucio

Causa / Comentario

Atributo

Valores
ilegales

FNac=30.13.70

Valores fuera del rango


del dominio.

Registro

Dependencias
de atributos
violadas

Edad=22,
FNac=12.02.70

Edad=(factual-fnac)
Debe controlarse

Emp1=(nombre= Jos
Prez,
CId=12345678911)
Emp2=(nombre= Pedro
Lpez,
CId=12345678911)

Unicidad del CId violada

Violacin de la Emp =(nombre= Pedro


Pedro
integridad
Prez, deptno=127)
referencial

Referencia al dpto
dpto. (127)
no est definida.

Tipo
de registro

Fuente

Violacin de
unicidad

Ejemplo de problemas en una


i fuente
nica
f
t a nivel
i l de
d instancias
i t
i
Alcance / Problema
Atributo

Registro

Dato sucio

Causa / Comentario

Ortogrfico

Ciudad=Habaana

De tecleo o fontico

Ausente

Tel=999999

No disponibles en
entrada,, valores nulos o
no aplicables.

Abreviaturas

Experiencia=B
Ocupacin=Prog. BD

Valores
mezclados

Nombre=Pedro Prez,
10.12.1970, Santa
Clara

Volores
errneos

Ciudad=Cuba

Dependencias
de atributos
violada

Ciudad=Santa Clara
CodPostal = 40100

Varios valores entrado en


un nico campo. (por ej,
en un campo de formato
libre)

Ciudad y cdigo postal


deben corresponderse.

Ejemplo de problemas a nivel de


instancias en una nica fuente
(continuacin)
Alcance / Problema
Tipos de
registros

Fuente

Dato sucio

Causa / Comentario

Transposicion
de palabras

Nombre1=P. Prez
Nombre2=Juan L,

Generalmente en
campos de formato
libre

Registros
duplicados

Emp1=(nombre= Jos
Prez, ...)
Emp2=(nombre= J. Prez
,...))

El mismo empleado se
representa dos veces
por error en la entrada.

Registros
contradictorios

Emp1=(nombre=Pedro
Prez,, Fnac
Prez
Fnac=12.10.70)
12.10.70 )
Emp1=(nombre=Pedro
Prez, Fnac=12.02.70)

La misma entidad del


mundo real se describe
con valores diferentes.

Referencias
errneas

Emp=(nombre=Pedro
Prez, dptonro=17)

Esta definida la
referencia al
departamento 17 pero
es errnea.

Problemas en mltiples fuentes a


nivel
i l de
d esquema y de
d instancias
i t
i
a.Conflicto de nombres
b C fli t estructural
b.Conflicto
t t l
c. Un registro duplicado.

a
c,d
e

d. La misma instancia con


d id
dos
identificadores
tifi d
distintos.
e. El mismo identificador
para dos instancias
diferentes
diferentes.

Limpieza y
T
Transformacin
f
i
Pasos:
a.
b.

c.
d.
e.

Anlisis de datos.
Definicin del flujo de trabajo de las
transformaciones y las reglas de
correspondencia.
d
i
Verificacin
T
Transformacin
f
i
Flujo inverso de datos limpios.

Anlisis de datos
z

Por qu?
z

Metadatos insuficientes.

Para qu?
z

El anlisis obtiene metadatos que ayudan a


d
determinar
i
llas caractersticas
i
d
de llos d
datos y
patrones de valores no usuales.

Enfoques del
Anlisis de datos
1. Perfil de datos (data profiling).
2. Minera de datos ((data mining).
g)

Perfil de los datos


Problemas

Metadatos

Ejemplo/heuristica

Valores Ilegales

Cardinalidad

Ej Si la cardinalidad del sexo>2 indica problemas


Ej.
problemas.

Max, Min

No deben exceder el rango de los valores permitidos.

Desviacin y varianza

Los valores estadsticos de la desviacin y la varianza no


deben ser mayores que un umbral.

Valores escritos
incorrectamente

Valores de los
atributos

El ordenamiento de los valores ayuda a detectar valores


mal escritos.
Contar los valores puede ayudar a detectar valores
incorrectos

Valores ausentes

Valores nulos

Porciento/ cantidad de valores nulos.

Valores de atributos +
Valores por defecto

La prsencia de valores por defecto puede indicar valores


que existen que estn ausentes.

Diferentes
representaciones del
mismo valor

Valores de atributos

Comparando el conjunto de valores de una columna de


una tabla contra los valores de otra columna de otra tabla.

Duplicados

Cardinalidad+
Unicidad

La cardinalidad de un atributo identificador debe


corresponderse con la cantidad de filas de la tabla.
tabla

Valores de atributos

Ordenando los valores por el nmero de ocurrencias, ms


de una ocurrencia puede indicar valores duplicados.

Ejemplos comunes de
transformaciones
a.

Reconciliacin semntica y desnormalizacin.


En los DW las dimensiones son generalmente desnormalizadas
con el objetivo de dar respuesta de forma rpida a las solicitudes.
I
Ingresos

CodifIngresos

Emp_Id

IL_ID

Cant

110

10

1500

110

20

300

Empleado
Emp_Id

Nombre

Edad

110

30

120

35

130

38

IL_Id

Descr

10

Salario

20

Bonif

30

Vacac

EMP_Id

Nombre

Edad

110

30

Salario Bonif
1500

300

Vacac
0

Ejemplos comunes de
transformaciones
b
b.
Id

Asignacin de llaves sustitutas


sustitutas.

Descr

10

C
Coca

20

Pepsi

Id

D
Descr

10

Pepsi

20

Fanta

R1

R2

DW.R

Id

Descr

100

Coca

110

Pepsi

120

Fanta

temp

F
Fuente_Id
t Id

F
Fuente
t

Ll
LlaveCreada
C
d

10

R1

100

20

R1

110

10

R2

110

20

R2

120

Ejemplos comunes de
transformaciones
c.

Problemas de cadenas
Valor Fuente

Valor en el Almacn

HP

HP

H.P.

HP

Direcciones postales
H-P

HP

Siglas
g
Hewlett-Packard

HP

Hiolet-Pakard

HP

DEC

DEC

Digital Co.

DEC

Abreviaturas
Nombres

Transformacin
Son procesos destinados a adaptar los
datos al modelo lgico
g
del DW
Se generan reglas de transformacin.
Las
L reglas
l d
deben
b validarse
lid
con llos
usuarios del DW

Transformaciones
(
(sumarizaciones)
i
i
)
z
z
z
z

Los datos sumarizados aceleran los tiempos


de anlisis.
Las
sumarizaciones
tambin
ocultan
complejidad de los datos.
Las sumarizaciones pueden incluir joins de
mltiples tablas
Las sumarizaciones proveen mltiples vistas
del mismo conjunto de datos detallados
(di
(dimensiones).
i
)

Proceso de ETL

Fuente
es

Transformacin
y limpieza

DSA
Extraccin

Transporte

DWH

Mercados de
Datos

Carga
g
Despus de los pasos anteriores es que se
produce la carga al DW.
Este paso incl
incluye
e otras tareas de procesamiento
como: chequeos de restricciones de integridad,
ordenamiento, totalizaciones, etc.
z Procesamiento por lotes.
z El administrador debe poder controlar el proceso de
carga.
z Debe discriminarse entre los datos nuevos y los
existentes.
z Puede hacerse de forma incremental o total (full)
z

Herramientas ETL
z

Pueden ser procesos manuales diseados a


medida (q
(querys
y SQL,
Q , programas
p g
en Visual
Basic, etc).

Existen herramientas que proporcionan


interfaces visuales para definir joins,
transformaciones, agregados, etc. sobre las
plataformas ms comunes.

Carga
g de la tabla de hechos
Un problema importante a resolver: Llaves subrrogadas

Mapa:
Llave_Tiempo
Id_Tiempo

Datos de una
venta:
Id_Tiempo
Id_Almacn
Id_ Producto
Unidades
Costo

Reemplazar
Id_Tiempo
por
Llave_tiempo

Mapa:
Llave_Almacn
Id_Almacn

Reemplazar
Id_Alamcen
por
Llave_almacen

Mapa:
Llave_Producto
Id_Producto

Reemplazar
Id_Producto
por
Llave_producto

Cargar en la tabla
d h
de
hechos:
h
Llave_Tiempo
Llave_Almacn
Llave_producto
Unidades
Costo

Herramientas ETL
Algunas Herramientas ETL Propietarias
Ab Initio
Barracuda Software (Integrator)
MakeWare Soluciones Tecnologicas http://www.makeware.net
Benetl
Biable http://www.visiontecnologica.com
http://www visiontecnologica com
BITool - ETL Software http://www.bitool.com/
BOPOS TLOG-4690 rhiscom (back-office POS)
CloverETL [1]
Cognos Decisionstream
D t Integrator
Data
I t
t (herramienta
(h
i t d
de B
Business
i
Obj t )
Objects)
Data Migraton Toolset de Backoffice Associates (BoA)
http://www.boaweb.com/migrationtoolset.htm
Genio, Hummingbird
IBM Websphere
p
DataStage
g ((Previously
y Ascential DataStage)
g )
Informtica PowerCenter
metaWORKS ( Document Tools)
Microsoft DTS (incluido en SQL-Server 2000)
Microsoft Integration Services (MS SQL Server 2005)
MySQL Migration Toolkit
Scriptella ETL - Libre, Apache-licensed ETL
Oracle Warehouse Builder
WebFocus-iWay DataMigrator Server

Herramientas ETL
Algunas Herramientas ETL Libres
Kettle
Scriptella Open Source ETL Tool
Talend Open Studio

Herramientas
C
Caractersticas
t ti
Generales
G
l
z
z
z

Diversas, pero dirigidas a etapas


especficas del proceso.
Son costosas
Las compaas que venden las
h
herramientas
i t proveen ell servicio
i i d
de
limpieza
Usan elementos del entorno: diccionarios
de ortografa, geogrficos, directorios
locales.

Subsistemas de Kimball
1. Extract system. Source data adapters, push/pull/dribble job schedulers, filtering and sorting at the source, proprietary data
format conversions, and data staging after transfer to ETL environment.
2. Change data capture system. Source log file readers, source date and sequence number filters, and CRC-based record
comparison in ETL system.
3. Data profiling system. Column property analysis including discovery of inferred domains, and structure analysis including
candidate foreign key primary relationships, data rule analysis, and value rule analysis.
4. Data cleansing system. Typically a dictionary driven system for complete parsing of names and addresses of individuals and
organizations, possibly also products or locations. "De-duplication" including identification and removal usually of individuals
and organizations, possibly products or locations. Often uses fuzzy logic. "Surviving" using specialized data merge logic that
preserves specified fields from certain sources to be the final saved versions. Maintains back references (such as natural keys)
t all
to
ll participating
ti i ti original
i i l sources.
5. Data conformer. Identification and enforcement of special conformed dimension attributes and conformed fact table measures
as the basis for data integration across multiple data sources.
6. Audit dimension assembler. Assembly of metadata context surrounding each fact table load in such a way that the metadata
context can be attached to the fact table as a normal dimension.
7. Quality screen handler. In line ETL tests applied systematically to all data flows checking for data quality issues.
issues One of the
feeds to the error event handler (see subsystem 8).
8. Error event handler. Comprehensive system for reporting and responding to all ETL error events. Includes branching logic to
handle various classes of errors, and includes real-time monitoring of ETL data quality
9. Surrogate key creation system. Robust mechanism for producing stream of surrogate keys, independently for every
dimension. Independent of database instance, able to serve distributed clients.
10. Slowly Changing Dimension (SCD) processor. Transformation logic for handling three types of time variance possible for a
dimension attribute: Type 1 (overwrite), Type 2 (create new record), and Type 3 (create new field).

Subsistemas de Kimball (11-20)


(
)
11. Late arriving dimension handler. Insertion and update logic for dimension changes that have been delayed in arriving at the
data warehouse.
12. Variable hierarchy dimension builder. Data validity checking and maintenance system for all forms of ragged hierarchies of
indeterminate depth, such as organization charts, and parts explosions.
13. Multivalued dimension bridge
g table builder. Creation and maintenance of associative ((bridge)
g ) table used to describe a manyy
to-many relationship between dimensions. May include weighting factors used for allocations and situational role descriptions.
14. Junk dimension builder. Creation and maintenance of dimensions consisting of miscellaneous low cardinality flags and
indicators found in most production data sources.
15. Transaction grain fact table loader. System for updating transaction grain fact tables including manipulation of indexes and
partitions. Normally append mode for most recent data. Uses surrogate key pipeline (see subsystem 19).
16 Periodic
16.
P i di snapshot
h t grain
i fact
f t table
t bl loader.
l d System
S
ffor updating
d i periodic
i di snapshot
h grain
i fact
f tables
bl including
i l di manipulation
i l i off
indexes and partitions. Includes frequent overwrite strategy for incremental update of current period facts. Uses surrogate key
pipeline (see subsystem 19).
17. Accumulating snapshot grain fact table loader. System for updating accumulating snapshot grain fact tables including
manipulation of indexes and partitions, and updates to both dimension foreign keys and accumulating measures. Uses surrogate
key pipeline (see subsystem 19)
19).
18. Surrogate key pipeline. Pipelined, multithreaded process for replacing natural keys of incoming data with data warehouse
surrogate keys.
19. Late arriving fact handler. Insertion and update logic for fact records that have been delayed in arriving at the data
warehouse.
20. Late arriving fact handler. Insertion and update logic for fact records that have been delayed in arriving at the data
warehouse.

Subsistemas de Kimball (21-30)


(
)
21. Aggregate builder. Creation and maintenance of physical database structures, known as aggregates, that are used in conjunction
with a query-rewrite facility, to improve query performance. Includes stand-alone aggregate tables and materialized views.
22. Multidimensional cube builder. Creation and maintenance of star schema foundation for loading multidimensional (OLAP)
cubes, including special preparation of dimension hierarchies as dictated by the specific cube technology.
23. Real-time partition builder. Special logic for each of the three fact table types (see subsystems 16, 17, and 18) that maintains a
"h t partition"
"hot
titi " in
i memory containing
t i i only
l the
th data
d t that
th t has
h arrived
i d since
i
the
th last
l t update
d t off the
th static
t ti data
d t warehouse
h
tables.
t bl
24. Dimension manager system. Administration system for the "dimension manager" who replicates conformed dimensions from a
centralized location to fact table providers. Paired with subsystem 25.
25. Fact table provider system. Administration system for the "fact table provider" who receives conformed dimensions sent by the
dimension manager. Includes local key substitution, dimension version checking, and aggregate table change management.
26. Job scheduler. System for scheduling and launching all ETL jobs.
jobs Able to wait for a wide variety of system conditions including
dependencies of prior jobs completing successfully. Able to post alerts.
27. Workflow monitor. Dashboard and reporting system for all job runs initiated by the Job Scheduler. Includes number of records
processed, summaries of errors, and actions taken.
28. Recovery and restart system. Common system for resuming a job that has halted, or for backing out a whole job and restarting.
Significant dependency on backup system (see subsystem 36).
29. Parallelizing/pipelining system. Common system for taking advantage of multiple processors, or grid computing resources, and
common system for implementing streaming data flows. Highly desirable (eventually necessary) that parallelizing and pipelining
be invoked automatically for any ETL process that meets certain conditions, such as not writing to the disk or waiting on a
condition in the middle of the process.
30. Problem escalation system. Automatic plus manual system for raising an error condition to the appropriate level for resolution and
t ki
tracking.
Includes
I l d simple
i l error log
l entries,
t i operator
t notification,
tifi ti
supervisor
i notification,
tifi ti
andd system
t developer
d l
notification.
tifi ti

Subsistemas de Kimball (31


(31-38)
38)
31. Version control system. Consistent "snapshotting" capability for archiving and recovering all the metadata in the ETL
pipeline. Check-out and check-in of all ETL modules and jobs. Source comparison capability to reveal differences between
different versions.
32. Version migration system. development to test to production. Move a complete ETL pipeline implementation out of
development into test,
development,
test and then into production.
production Interface to version control system to back out a migration.
migration Single interface
for setting connection information for entire version. Independence from database location for surrogate key generation.
33. Lineage and dependency analyzer. Display the ultimate physical sources and all subsequent transformations of any selected
data element, chosen either from the middle of the ETL pipeline, or chosen on a final delivered report (lineage). Display all
affected downstream data elements and final report fields affected by a potential change in any selected data element, chosen
either in the middle of the ETL pipeline, or in an original source (dependency).
34. Compliance reporter. Comply with regulatory statutes to prove the lineage of key reported operating results. Prove that the
data and the transformations haven't been changed. Show who has accessed or changed any such data.
35. Security system. Administer role-based security on all data and metadata in the ETL pipeline. Prove that a version of a module
hasn't been changed. Show who has made changes.
36. Backup system. Backup data and metadata for recovery, restart, security, and compliance requirements.
37 Metadata repositor
37.
repository manager
manager. Comprehensive
C
h i system
t for
f capturing
t i andd maintaining
i t i i all
ll ETL metadata,
t d t including
i l di all
ll
transformation logic. Includes process metadata, technical metadata, and business metadata.
38. Project management system. Comprehensive system for keeping track of all ETL development.

You might also like