Professional Documents
Culture Documents
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.
Proceso de ETL
Fu
uentes
Transformacin
y limpieza
DSA
Extraccin
Transporte
DWH
Mercados de
Datos
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)
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
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
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
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
Dato sucio
Causa / Comentario
Atributo
Valores
ilegales
FNac=30.13.70
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)
Referencia al dpto
dpto. (127)
no est definida.
Tipo
de registro
Fuente
Violacin de
unicidad
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
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)
Referencias
errneas
Emp=(nombre=Pedro
Prez, dptonro=17)
Esta definida la
referencia al
departamento 17 pero
es errnea.
a
c,d
e
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
Enfoques del
Anlisis de datos
1. Perfil de datos (data profiling).
2. Minera de datos ((data mining).
g)
Metadatos
Ejemplo/heuristica
Valores Ilegales
Cardinalidad
Max, Min
Desviacin y varianza
Valores escritos
incorrectamente
Valores de los
atributos
Valores ausentes
Valores nulos
Valores de atributos +
Valores por defecto
Diferentes
representaciones del
mismo valor
Valores de atributos
Duplicados
Cardinalidad+
Unicidad
Valores de atributos
Ejemplos comunes de
transformaciones
a.
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
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
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
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
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).