Procesos ETL Jordi Conesa i Caralt Isabel Guitart Hormigo
Índice Componentes del proceso ETL Obtención de datos Transformación, depuración e integración de datos Carga de datos Herramientas ETL Ejemplo
Componentes del Proceso ETL ETL = Extract / Transform / Load La misión de los componentes de integración y transformación es obtener los datos para los diferentes almacenes de datos de la organización.
Proceso: Obtención de datos El primer paso consiste en determinar, de entre todas las fuentes de datos posibles, cual es la más adecuada para cada uno de los datos requeridos. •
•
En la obtención de los datos se distinguen dos fases: a) Obtención de los datos para la imagen inicial. b) Obtención de los datos para las actualizaciones.
Clasificación de los datos: a) Datos estructurados b) Datos semiestructurados c) Datos no estructurados
•
Proceso : Transformación, Depuración e Integración TRANSFORMACIÓN Cambiar formato o tipo de datos (ejemplo formato fecha). •
Reestructurar campos (fusionar o dividir campos). •
INTEGRACION
DEPURACIÓN Detectar y corregir valores inconsistentes. •
Añadir valores por defecto a los campos con valores no definidos •
El proceso de integración dependerá si realizamos la carga inicial del almacén de datos o una actualización. •
Principal problema: Detectar datos que representan el mismo concepto. •
Cambiar las unidades o códigos de transformación (cambios de moneda). •
Detectar y corregir información duplicada. •
Se transforman los datos para homogeneizar la representación y eliminar la información duplicada. •
Cambiar el grado de agregación (calcular las vendas mensuales a partir de las diarias). •
Añadir información temporal (período validez de los datos). •
Proceso: Carga de datos El proceso ETL también se encarga de transportar los datos entre las diferentes plataformas y cargarlas en las bases de datos correspondientes.
Herramientas ETL Control y automatización de la extracción de los datos , disminuyendo el tiempo empleado en el descubrimiento de procesos no documentados, minimizando el margen de error y permitiendo mayor flexibilidad. •
•
Acceso a diferentes tecnologías , haciendo un uso efectivo del hardware, software, datos y recursos humanos existentes. • Proporcionar
la gestión integrada del Data Warehouse y los Data Marts existentes, integrando la extracción, transformación y carga para la construcción del Data Warehouse corporativo y de los Data Marts. Uso de la arquitectura de metadatos , facilitando la definición de los objetos de negocio y las reglas de consolidación. •
• Acceso
a una gran variedad de fuentes de datos diferentes .
• Manejo
de excepciones.
Planificación, logs, interfaces a schedulers de terceros, que nos permitirán llevan una gestión de la planificación de todos los procesos necesarios para la carga del DW. •
• Interfaz
independiente de hardware .
• Soporte
en la explotación del Data Warehouse .
EJEMPLO ETL: Basado en …
EJEMPLO ETL: Sistema de análisis de estadísticas Web Recopilar la información de los logs de la web de la empresa en un único repositorio de datos que permita el análisis de las visitas web.
Kettle – Pentaho Data Integration Basado en el desarrollo de dos tipos de objetos: Transformaciones: permiten definir las operaciones de transformación de datos. •
Trabajos: permiten gestionar y administrar procesos ETL a alto nivel. •
Kettle – Pentaho Data Integration Formado por cuatro componentes: Spoon: entorno gráfico para el desarrollo de transformaciones y trabajos. •
Pan: permite ejecutar transformaciones.
•
Kitchen: permite ejecutar trabajos.
•
Carte: es un servidor remoto que permite la ejecución de transformaciones y trabajos. •
Caso Práctico – Datos de Origen El archivo log contiene los siguientes campos: IP desde la que se accede RFC 1413: identificador de la máquina en la red Usuario remoto: identificador del usuario. Fecha: formato [dd/MM/yyyy:HH:mm:ss -XXXX]. Recurso: aquello a lo que se accede. Resultado. Tiempo: segundos que se tarda en acceder al recurso. Referente: desde donde se accede al recurso. User-agent: información del sistema operativo y del navegador usados para acceder al recurso. • • • • • • • • •
Caso Práctico – Datos de Origen El archivo log contiene los siguientes campos: • IP desde la que se accede
RFC 1413: identificador de la máquina en la red • Usuario remoto: identificador del usuario. • Fecha: formato [dd/MM/yyyy:HH:mm:ss -XXXX]. • Recurso: aquello a lo que se accede. • Resultado. • Tiempo: segundos que se tarda en acceder al recurso. • Referente: desde donde se accede al recurso. • User-agent: información del sistema operativo y del navegador usados para acceder al recurso. •
Caso Práctico – Más Datos de Origen Se han preparado otros ficheros con información adicional: access.log: contiene la información de acceso a nuestra aplicación web. navegador.csv: contiene un listado de avegadores base. protocolo.csv: contiene los protocolos de acceso estándar. resultado.csv: contiene el resultado que puede proporcionar el servidor a un acceso. so.cv: contiene un listado de sistemas operativos base. •
• •
•
•
Planificación de Procesos ETL La estrategia que se seguirá será: 1. Cargar las dimensiones navegador, protocolo, resultado y so a partir de los ficheros anteriores. 2. Alimentar la tabla de hecho de visitas. 3. Crear un trabajo para lanzar todas las transformaciones de una manera única.