Resumen Business Intelligence. El proceso ETL
Enviado por Alba Rubio Fernández • 21 de Febrero de 2023 • Apuntes • 13.423 Palabras (54 Páginas) • 292 Visitas
3. Herramientas de extracción, transformación y carga
3.1. Qué es el proceso de extracción, transformación y carga (ETL)
El ETL es proceso que transporta los datos desde sus orígenes, los modifica convenientemente y los carga en los data warehouses y data marts de destino. Es el responsable de la extracción de datos y de su limpieza, conformación y localización en el almacén de datos.
Los procesos ETL son procesos cuyos flujos de datos están bien definidos, en los que se extraen datos de los sistemas de origen, como bases de datos relacionales, operacionales, ficheros, web services, etc. En siguientes pasos los datos extraídos se transforman, limpian, consolidan y se tratan para enriquecer tanto dimensiones como las tablas de hechos con sus métricas. Este proceso de transformación siempre busca cumplir los requisitos solicitados por los usuarios de negocio. En el último paso se procede a la carga de la información formateada a un data warehouse o a un data mart.
Las herramientas ETL deben estar orientadas a proporcionar lo siguiente:
- Herramienta 1: Automatización de los procesos de extracción de datos de las diferentes fuentes identificadas, así como un mayor control del proceso, con el fin de agilizar el proceso de descubrimiento de información y reducir el tiempo y margen de error para cada fase, así como añadir mayor flexibilidad para la incorporación de nuevas fuentes
- Herramienta 2: Capacidad para acceder a diferentes tecnologías de origen de datos de forma eficiente.
- Herramienta 3: Proporcionar la gestión integrada del Data Warehouse y los Data Marts existentes en las fases de extracción, transformación y carga.
- Herramienta 4: Empleo de capa de metadatos que permita definir los objetos de negocio y las reglas de consolidación de una forma ágil e intuitiva.
- Herramienta 5: Acceso a una gran variedad de fuentes de datos diferentes.
- Herramienta 6: Control y manejo de excepciones.
El proceso ETL es un componente crítico en una solución de inteligencia de negocio end-to-end:
[pic 1]
Los procesos ETL vienen asociados a los sistemas de inteligencia de negocio. Hoy en día, con la diversidad de fuentes de datos, tanto en formato como en tipos de sistemas con los que interaccionar, las herramientas se han actualizado, adoptando las últimas tendencias de mercado. Esto incluye también el uso de la nube y la integración de datos en tiempo real. Los valores que aportan a las empresas son:
- Sistemas centrales y organizados: para el movimiento, transformación y consolidación de información.
- Entornos de trabajo: que promueven el desarrollo y la reutilización de código.
- Integración de datos históricos: en tiempo diferido y datos en tiempo real o casi real.
- Integración asíncrona de información en el data warehouse: permite cargar datos independientemente de su origen.
- Integración de diversos sistemas y fuentes de datos: en un repositorio único de datos que permite su análisis conjunto.
3.1.1. Fases y características de un proceso ETL
EXTRACCIÓN
El objetivo de esta fase es la extracción de los datos de cada una de las fuentes identificadas, realizando una copia exacta (sin procesamiento) de los datos de origen.
En esta fase se realiza el acceso a los datos de origen de una forma eficiente, periódica y automatizada, definiendo la conexión/integración con las fuentes de datos internas o externas que se hayan identificado.
Es importante destacar que en muchos casos se realiza extracción de fuentes operacionales, siendo crítica la carga que se realiza sobre estos sistemas. Es por ello por lo que hay que remarcar la importancia que tiene identificar y diseñar en esta fase las ventanas óptimas de carga sobre los orígenes, para generar la menor carga e impacto posibles sobre las fuentes.
Se deben analizar los datos obtenidos para verificar que se cumplen las especificaciones. Algunas verificaciones son:
- Contrastar con los datos de origen
- Cargar solo los datos que se usan en las siguientes fases
- Eliminar datos duplicados
- Verificar tipo de datos
Esta fase permite integrar en un formato común daros que provienen de sistemas totalmente dispares en cuanto a sistema operativo, protocolos de comunicación, API y estructura de daros. Primera fase preparatoria de datos (staging).
La extracción tiene varios métodos para realizarse:
- Extracción total de los datos origen
- Extracciones parciales teniendo en cuenta las actualizaciones
- Extracciones parciales no teniendo en cuenta las actualizaciones.
Debe causar el mínimo impacto posible en el sistema origen del que se extraen. Los procesos ETL se planifican en ventanas de tiempo que no tengan un impacto directo en los orígenes.
TRANSFORMACIÓN
Es el segundo de los procesos y consiste, principalmente, en limpiar y conformar la información extraída de todas las fuentes. Este paso es el más laborioso y en el que ETL agrega más valor.
La transformación se basa en los datos almacenados en el área de staging en la fase de extracción. Estos datos extraídos desde la fuente origen están sin tratar, y no están pensados para la explotación, ya que su estructura no fue considerada para el análisis. Esta fase procesará los datos basándose en transformaciones previamente acordadas con el negocio o los usuarios finales.
En esta fase se realizan los procesos de limpieza de datos para aportarles calidad, eliminando, para ello, los datos erróneos, y, complementando con otras fuentes, se enriquecen los datos para que estos sean fiables.
En esta fase también se realiza el conformado y la unificación de fuentes y datos, lo que aporta unicidad a la información y veracidad y genera maestros. En esta fase se da la propia transformación de la información, en la que se aplican las reglas de negocio, comprobaciones, datos referenciales, etc. Este paso limpia y conforma los datos que se cargarán en el sistema final, que deben ser precisos, completos, correctos y coherentes.
Las transformaciones más comunes son las siguientes:
- Limpiar los campos que se van a cargar en la siguiente fase.
- Traducir y mapear códigos entre maestros, lo que permitirá tener una única tabla de maestros por cada dimensión que se vincule a diferentes tablas de hechos de diferentes orígenes. Por ejemplo, si la nacionalidad de los clientes en una fuente viene en número entero y en otra aparece el ISO2 del país, se debe decidir cuál será la codificación consolidada de ese maestro, y todos los datos cargados se tienen que transformar a esa codificación.
- Consolidar y enriquecer dimensiones; si se tienen tablas de búsqueda de diversas fuentes, se deben consolidar y enriquecer estas dimensiones.
- Generar tablas de dimensiones de conceptos que no tenían maestros, además de definir una codificación.
- Dividir columnas; por ejemplo, si la dirección completa de los clientes viene en un solo campo, hay que dividirlo en país, región, ciudad, etc., o fusionar columnas.
- Consolidar tipos de datos y unidades de medida, como monedas, fechas, peso, etc.
- Validar umbrales y formatos de los datos, como el formato del código postal.
- Evitar campos con valores nulos, cambiando su valor por valores por defecto.
- Calcular métricas derivadas usando las métricas originales como base.
- Aplicación de reglas de calidad de datos, y los procesos que realizar cuando no se cumplan los patrones definidos.
CARGA
Es el paso final del proceso y su objetivo es realizar de forma eficiente la carga de datos en el almacén de datos, y, más concretamente, en cada uno de los modelos multidimensionales definidos. Por tanto, su diseño debe prestar especial atención a minimizar los tiempos de carga y tener en cuenta que se trata de procesos intensivos de inserción —y actualización, si fuera necesario— de registros en tablas de elevada volumetría.
Existen varias modalidades de carga de datos, en algunos data warehouses se sobrescribe la información antigua con los nuevos datos, otros actualizan la información existente e incluso otros cargan fotos de datos.
...