22 marzo 2015

Tarea Data Profiling

Data Profiling es una tarea cada vez más utilizada, así como, es necesario comprender los datos extraídos de orígenes en detalle y también reducir los problemas con la calidad de datos durante el proceso de integración de datos. En un escenario ETL, este perfilado de datos debería hacerse antes de que el proceso ETL acceda al sistema de origen directamente, o si eso no es posible, entonces después del stage Extracción donde generalmente no hay ninguna transformación en los datos aplicados. Si el perfilado de datos no es conocido, el riesgo de problemas durante los stages posteriores (Transformación y Carga) se incrementarán significativamente.
Cuando los datos de origen son perfilados usando esta tarea, la salida podría ser una columna null ratio, longitudes de columna y distribución de valores, patrón de la columna, y también las columnas candidatas para ser llaves. La salida de este análisis genera reportes XML que pueden ser guardados a un archivo o a una variable SSIS.
Los resultados recogidos por la Tarea Data Profiling son muy útiles para afinar una base de datos.
 

Alistarse

Para alistarse para este ejercicio, utilice los siguientes pasos:
1.    Abra el SQL Server Data Tools (SSDT) y cree un nuevo proyecto SSIS.
2.    Proporcione un nombre y una ubicación para el proyecto SSIS y proceda.
3.    Seleccione el paquete creado por defecto y renómbrelo a ProfileCustomers.dtsx.

Ejercicio

Considere un escenario donde es requerido para hacer un reporte de pre-análisis o perfilado de datos que necesita ser extraído de los orígenes. Este análisis es requerido para ver el nivel de calidad de datos con el fin de reducir los problemas durante el proceso ETL.
1.    En el panel Connection Managers, crear una New ADO.NET connection que apunte a la base de datos de muestra AdventureWorksLT2012.
2.    Si la conexión no existe, pulse el botón New para configurar una nueva. Renombre la conexión creada a cmAdventureWorksLT.
3.    Agregue una Tarea Data Profiling al Control Flow para el perfilado de los datos de clientes en el ejemplo Adventure Works.
4.    Abra la tarea para la edición.
5.    Pulse el botón Quick Profile… para utilizar las configuraciones por defecto.
6.    En la propiedad ADO.NET connection, seleccione la conexión creada en el paso anterior.
7.    En la Table or View, seleccione la tabla [SalesLT].[Customer] para ser perfilado bajo esta tarea.
 
8.    Pulse el botón OK y eche un vistazo a los detalles de cada solicitud de perfilado bajo la ficha Profile Requests. Cada tipo de perfil o solicitud tiene sus propias propiedades que pueden ser cambiadas para adaptarse a las necesidades de cada proyecto.
9.    Ahora que la solicitud de perfilado es creada, es necesario configurar donde será colocada la salida. En la ficha General, bajo Destination establezca la propiedad DestinationType a FileConnection y la propiedad Destination a New File Connection.
10.  En la ventana desplegable File Connection Manager Editor, establezca la propiedad Usage type a Create file y en la propiedad File establezca el nombre del archivo XML que almacenará la salida proporcionada por la tarea.
11.  Ejecute el paquete pulsando F5. Si la ejecución tiene éxito, el reporte será generado en el archivo XML definido previamente.
12.  Hay dos opciones para ver el reporte generado: la opción Open Profile Viewer... en el Data Profiling Task Editor o en el atajo bajo Start Menu | All Programs | Microsoft SQL Server 2012 | Integration Services | Visor de Perfil de Datos SQL Server 2014.
 
13.  En el Visor de Perfil de Datos SQL Server 2014 pulse Open, localice el XML creado antes, y ábralo.
14.  Los resultados extensos para cada columna podría ser analizado en detalle seleccionando la tabla y el tipo de perfilado en el panel izquierdo y seleccionando cada columna en el panel derecho.
Funcionamiento
Los pasos anteriores explican un escenario simple y básico para perfilar datos de origen que serán extraídos, transformados y cargados durante el proceso ETL. Básicamente, para aplicar esta tarea, es necesario identificar las tablas y columnas que pueden causar problemas de calidad, seleccionar qué tipo de perfil se aplica a cada uno, y finalizar ejecutando el paquete que generará el reporte de salida en un archivo XML.

1 comentarios:

Narcizo dijo...

Esta tarea Data Profiling es muy fácil de aplicar, pero a la vez muy útil. Espero les sirva.