semana 10 - etl
TRANSCRIPT
![Page 1: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/1.jpg)
Extracción, Transformación y Carga
![Page 2: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/2.jpg)
Mapa del Curso
Inteligencia de Negocios
Metodología Kimball
Planeamiento del Proyecto
Modelo del
Negocio
Modelado Dimensional
Modelado Físico
ETL
Reportes
Minería de Datos
![Page 3: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/3.jpg)
Tabla de Contenido
• ETL
• Extracción
• Transformación
• Carga
![Page 4: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/4.jpg)
Objetivos
1. Presentar los conceptos necesarios para entender el proceso de extracción, transformación y carga de una base de datos.
![Page 5: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/5.jpg)
ETLExtraer, Transformar y Cargar
![Page 6: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/6.jpg)
El proceso ETL
• Proceso para transferir, formatear, limpiar y cargar datosdesde aplicaciones de producción (ERP, CRM, BDR,archivos) a los sistemas de BI (Data Marts, BDD, OLAP).
• Su construcción es responsabilidad del equipo BI/DWH.
• Se construye para cada BI/DWH.
• Implica entre 40% al 60% del esfuerzo.
• Se utiliza herramientas y programas diseñados ad hoc
![Page 7: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/7.jpg)
ETL – Problemas potenciales
• Múltiples tecnologías
• Reportes obsoletos.
• No existía Metadata.
• Diferentes algoritmos de calculo.
• Diferentes niveles de extracción.
• Diferentes niveles de detalle (granularidad).
• Diferentes nombres de campos de datos.
• Diferentes significados de campos de datos.
• Perdida de información.
• No existía reglas de corrección de datos.
• No existía capacidad de Drill Down.
![Page 8: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/8.jpg)
El proceso ETL
• El ETL se encarga de:– Extraer los datos de las fuentes
– Transformar y limpiar los datos
• Resumir los datos
• Detectar cambios en las fuentes
• Reestructurar las claves
– Cargar los datos en el almacén
• Refrescar el almacén con datos actualizados
• Indexar los datos
– Mantener los metadatos
• La frecuencia de los procesos ETL puede ser:
– Mensual o semanal (mayormente diariarios)
– Tiempo casi real (cada hora, cada minutos, etc.).
![Page 9: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/9.jpg)
El proceso ETL
Correspondencia
Transformación
Extracción Carga
• Identifica los datos que han cambiado
• Extrae (lectura) de datos.
• Obtiene los agregados
• Mantiene la metadata
• Limpieza y transformación de datos
• Estandarización a un solo formato.
• Creación de claves
• Integración de datos (cálculo de datos derivados)
• Obtención de agregados
• Mantenimiento de la metadata
• Carga
• Indización
• Realización de pruebas de calidad de la carga.
• Gestión de errores.
• Obtención de datos agregados.
• Mantenimiento de metadata
Bases de datos operacionales
Almacenamiento intermedio
Almacén de datos
![Page 10: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/10.jpg)
El proceso ETL
Bases de datos operacionales
Almacén de datos
El Almacenamiento intermedio permite:
– Realizar transformaciones sin paralizar las bases de datos operacionales y el almacén de datos.
– Almacenar metadatos.
– Facilitar la integración de fuentes externas.
Fuentes Externas
Correspondencia
Extracción Carga
Transformación
Almacenamiento intermedio
![Page 11: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/11.jpg)
El proceso ETL
www.exceptionsoftware.com/etl.html
![Page 12: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/12.jpg)
Calidad de Datos
• La “calidad de los datos” es la clave del éxito de un almacén de datos.
• Definir una estrategia de calidad:
– Actuar sobre los sistemas operacionales:
• modificar las reglas de integridad
• usar disparadores.
– Documentar las fuentes de datos.
– Definir procesos de transformación.
– Nombrar un responsable de calidad de datos
![Page 13: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/13.jpg)
Benetl
Barracuda Integrator
Clover ETL
Pentaho Data Integration
Herramientas disponibles
![Page 14: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/14.jpg)
Ejercicio 1
• Si es que al final de cuentas todos los datos (en algún nivel de agregación) de los sistemas transaccionales (OLTP) se deben de pasar los sistemas analíticos (OLAP), por que no se diseñan las tablas de los sistemas OLTP como si fuesen modelos dimensionales.
![Page 15: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/15.jpg)
EXTRACCIÓN
![Page 16: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/16.jpg)
Extracción de datos
• Permite extraer los datos desde los sistemas de origen.
• Cada organización puede usar software diferente con datos y formatos distintos.
• Los formatos de las fuentes se encuentran en:– bases de datos relacionales
– archivos planos
– bases de datos no relacionales
• La extracción convierte los datos a un formato preparado para iniciar el proceso de transformación.
• Se analiza los datos extraídos y se verifica si cumplen estructura esperada, si no son rechazados.
![Page 17: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/17.jpg)
Extracción de datos
• Requerimiento importante:
– Que el proceso de extracción cause mínimo impacto en el sistema origen. Si son muchos datos, el sistema origen puede reducir su desempeño o colapsar, evitando su uso cotidiano.
• Por esta razón:
– En sistemas grandes las operaciones de extracción suelen programarse en horarios o días donde el impacto sea nulo o mínimo.
![Page 18: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/18.jpg)
Extracción de datos
• Programas diseñados para extraer datos de las fuentes.
• Herramientas: data migration tools, wrappers, ...
18
Correspondencia
Bases de datos operacionales
Almacenamiento intermedio
Almacén de datos
Extracción
![Page 19: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/19.jpg)
Extracción de datos
• Lectura de datos del sistema OLTP:
– durante la carga inicial .
– mantenimiento del BI/DWH
• Ejecución de la extracción:
– DBMS. Preparar consultas SQL o rutinas programadas.
– Sistemas propietarios. Lectura y pre-procesamiento.
– Texto libre. Lectura y pre-procesamiento.
– Hipertextuales. Lectura, formateo y pre-procesamiento.
– Hojas de cálculo. Lectura, formateo y pre-procesamiento.
![Page 20: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/20.jpg)
Identificación de cambios
• Identificar los cambios antes de extraerlos.
• Identificar los datos operacionales que se han modificado desde la fecha del último mantenimiento.
• Métodos1. Carga total. cada vez se empieza de cero.
2. Comparación de instancias de la base de datos operacional.
3. Uso de marcas de tiempo (time stamping) en los registros del sistema operacional.
4. Uso de disparadores en el sistema operacional.
5. Uso del fichero de log (gestión de transacciones) del sistema operacional.
6. Uso de técnicas mixtas.
![Page 21: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/21.jpg)
TRANSFORMACIÓN
![Page 22: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/22.jpg)
Transformación
• Aplica reglas de negocio o funciones a los datos extraídos para convertirlos en datos que serán cargados.
• Cleansing. Transformar los datos extraídos de las fuentes operacionales: limpieza, estandarización.
• Integration. Calcular los datos derivados: aplicar las leyes de derivación.
Correspondencia
Bases de datos operacionales
Almacenamiento intermedio
Almacén de datos
Transformación
![Page 23: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/23.jpg)
1. Cleansing
• En los datos operacionales de fuentes heterogeneas existen anomalías desarrolladas independientemente a lo largo del tiempo, por lo que es necesario eliminarlas:
– Limpieza de datos: eliminar datos, corregir y completar datos, eliminar duplicados.
– Estandarización: codificación, formatos, unidades de medida.
12M65431
12-m-65421
“12m65421”
“12m65421”
“ ”
12M65431
12M65431
12-m-65421
“12m65421”
“12m65421”
“ ”
12M65431
12
12
12
M
m
m
65431
65421
65421
12
12
M
M
65431
65421
![Page 24: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/24.jpg)
Múltiple codificación
• Codificación y descripción del genero del individuo.
• Almacenado de diferentes maneras: “M” y “F”, “1” y ”0”,“Hombre” y “Mujer” ó “Masculino” y “Femenino.”
• En la transformación, habrá que elegir una convenciónúnica para el DW, que puede ser “M” y “F y transformar losdatos.
Aplicación A: M y F
M - FAplicación B: 1 y 0
Aplicación C: Masculino y Femenino
![Page 25: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/25.jpg)
Unidades de medida
• Las unidades pueden tener distintas unidades de medidas, según el origen del sistema OLTP. Un ejemplo es hablar de litro, centímetros cúbicos o hectolitros.
• Habrá que elegir una única unidad de medida que sea útil para el DW y transformar los datos.
Aplicación A: litros
LitrosAplicación B: cm3
Aplicación C: Hectolitros
![Page 26: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/26.jpg)
Formatos
• Los formatos de fecha que encontramos en los diferentes sistemas operacionales pueden estar almacenados en multiples formatos.
• Las fechas pueden estar almacenadas como yyyy/mm/dd, mm/dd/yyyy ó dd/mm/yyyy.
• En el desarrollo del sistema DW, debemos elegir alguna de ellas y realizar la transformación correspondiente.
Aplicación A: yyyy/mm/dd
dd/mm/yyyyAplicación B: mm/dd/yyyy
Aplicación C: dd/mm/yyyy
![Page 27: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/27.jpg)
Varias columnas en una
• Los datos de una persona, como dirección pueden almacenarse en diferentes campos de la misma tabla (Calle, Número, Piso y Departamento).
• En un sistema DW, es posible que los almacenemos en una única columna.
• Lo mismo puede suceder con el Nombre y Apellido.
![Page 28: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/28.jpg)
Una columna en varias
• Los sistemas antiguos solían colocar el tipo y número de documento en el mismo campo de la tabla.
• En un DW, es posible que necesitemos colocar el tipo de documento en un campo y el número de documento en otro.
![Page 29: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/29.jpg)
Claves con estructura
• Claves con estructura: descomponer en valores atómicos
código del país
zona de ventas
número de producto
código de vendedor
Código de producto = 12M65431345
![Page 30: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/30.jpg)
Estándares
• Unificar estándares
• Unidades de medida, unidades de tiempo, moneda,...
cm
inches
cm
DD/MM/YY
MM/DD/YY
DD-Mon-YY
1,000 GBP
FF 9,990
USD 600
![Page 31: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/31.jpg)
Duplicados
• Valores duplicados: deben ser eliminados.
• SQL restricciones en el SGBDR
ACME Inc
ACME Inc
ACME Inc ACME Inc
![Page 32: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/32.jpg)
Integridad referencial
• Integridad referencial: debe reconstruirse.
Departamento10203040
Emp Nombre Departamento1099 Smith 101289 Jones 201234 Doe 506786 Harris 60
![Page 33: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/33.jpg)
Creación de claves
• Las claves primarias de las tablas no deben tener algún significado más halla de representar un identificador único.
#1 Venta 1/2/98 12:00:01 Ham Pizza $10.00
#2 Venta 1/2/98 12:00:02 Cheese Pizza $15.00
#3 Venta 1/2/98 12:00:02 Anchovy Pizza $12.00
#5 Venta 1/2/98 12:00:04 Sausage Pizza $11.00
#4 Devolución 1/2/98 12:00:03 Anchovy Pizza - $12.00
#dw1 Venta 1/2/98 12:00:01 Ham Pizza $10.00
#dw2 Venta 1/2/98 12:00:02 Cheese Pizza $15.00
#dw3 Venta 1/2/98 12:00:04 Sausage Pizza $11.00
Claves sin significado
![Page 34: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/34.jpg)
CARGAR
![Page 35: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/35.jpg)
Carga
• Es el momento en el cual los datos transformados soncargados en el sistema de destino.
• Consiste en mover los datos desde las fuentes operacionales o el almacenamiento intermedio hasta el almacén de datos y cargar los datos en las tablas estructuras de datos.
• Puede consumir mucho tiempo.
![Page 36: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/36.jpg)
Carga
• Existen dos etapas del proceso de carga:
– Carga inicial. Mueve grandes volúmenes de datos.
– Mantenimiento periódico. Mueve pequeños volúmenes de datos.
• Existen dos formas de desarrollar el proceso de carga:
– TAL (Trunc and Load): Limpia el repositorio de datos ycarga la información de nueva cuenta.
– Incremental: Se utiliza cuando se carga informaciónnueva o información que necesita ser actualizada.
36
![Page 37: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/37.jpg)
Frecuencia de mantenimiento
• La frecuencia del mantenimiento periódico estádeterminada por la granularidad de las dimensiones y losrequisitos de los usuarios.
• Se deben determinar las “ventanas de carga” más convenientes para no saturar la base de datos operacional.
• Ocasionalmente archivar o eliminar datos obsoletos que ya no interesan para el análisis.
T1 T2 T3
Base de datos operacional
![Page 38: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/38.jpg)
Indización
• Determinar cómo se van ha generar los índices:
• Generación del índice durante la carga.
– carga con el índice habilitado
– proceso tupla a tupla. (lento)
• Generación del índice después de la carga:
– carga con el índice deshabilitado
– creación del índice (total o parcial). (rápido)
Index
Almacén de datos
Base de datos operacional
![Page 39: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/39.jpg)
• Deshabilitar Integridad referencial.
• Para agilizar el proceso de transferencia de datos.
• Cada vez que se inserta un registro no se efectúan las validaciones de integridad referencial.
• Al finalizar el procese se habilita la integridad referencial.
La integridad referencial garantiza que una entidad (fila o registro) siempre se relaciona con otras entidades válidas (que existen en la BD).
Dichos datos serán correctos, sin repeticiones innecesarias, datos perdidos y relaciones mal resueltas.
Integridad Referencial
![Page 40: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/40.jpg)
Obtención de valores agregados
• Determinar en qué momento se generan los valores agregados.
– Durante la extracción.
– Después de la carga (transporte).
Base de datos operacional
Almacenamiento intermedio
Almacén de datos
TransporteExtracción
![Page 41: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/41.jpg)
EJEMPLO
Sistemas Fuente
Extracción
Regla de transformación gramatical en
oraciones simples
Area de trabajo
Carga
Sistema de Presentación
![Page 42: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/42.jpg)
Ejemplo
• Fuentes de datos.
• Registrar la ubicación de nombre y datos que existe en las tablas.
• Nombres de archivo y ubicación
• Formato
• Significado de los atributos
FuenteDueño de negocio
Dueño del Software Plataforma Localización
Descri`ción de los datos
![Page 43: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/43.jpg)
Ejemplo
• Extracción
• Copiar los datos específicos directamente desde las tablas origen a las tablas de trabajo en el zona de trabajo (staging area).
Tabla destino
Columna destino
Tipo de
datoLongi-
tud
Descripción de la columna destino
Sistema
Fuente
Tabla / File Origen
Col / Field
Origen
Notas del fomato de
datos
Extracción
![Page 44: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/44.jpg)
Transformaciones
• Transformar las tablas de dimensiones
• Transformar las tablas de hechos
Transformación
![Page 45: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/45.jpg)
Transformación – Tablas Dimensionales
• Generar claves alternas en una tabla de claves alternas y hacer estos permanentes.
• Inserte la clave alterna en las tablas dimensionales de trabajo.
• Ejecutar operaciones de limpieza de datos que sea necesarios (usualmente en la mesa de trabajo)
• Generar algún atributo derivado que se necesite.
• Generar y conversar el log del proceso.
![Page 46: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/46.jpg)
Transformación – Tablas de Hechos
• Unir todas las dimensiones en la tabla de hechos (usualmente la clave primaria original.
• Insertar las claves alternas
• Generar los hechos derivados
• Generar indicadores de tipo bandera.
![Page 47: Semana 10 - ETL](https://reader034.vdocuments.net/reader034/viewer/2022052304/55cf9b5a550346d033a5bbb3/html5/thumbnails/47.jpg)
PREGUNTAS