Deduplicación: Informática PowerCenter

Al desarrollar un proyecto de integración de datos, en las etapas de extracción y de Data Quality, se suelen detectar problemas en la calidad de la información, la duplicidad de la misma es uno de ellos.

Es decir, en las diferentes fuentes que tomamos como origen de datos (archivos planos, objetos relacionales, xml, etc.) pueden presentarse registros repetidos. En esta entrada, analizaremos qué es la deduplicación y que técnicas existen para llevarla a cabo.

La deduplicación en procesos ETL

La palabra duplicados casi siempre se encuentra asociada a problemas con la información. Por lo anterior es necesario tener definido y en funcionamiento un proceso para la deduplicación en toda etapa de Data Quality, que permita eliminar registros repetidos cuando estos sean un problema además de aportar la opción de obtener un reporte detallado de registros que han sido descartados en función de criterios fiados por el cliente.

Además de ser necesario para evitar inconsistencias en la información, un proceso de deduplicación permitirá reducir la volumetría de los datos, obteniendo procesos ETL más ágiles e íntegros.

Esta entrega se centrará en una serie de técnicas de deduplicación de información mediante el uso de Informática PowerCenter.

Características de la Deduplicación

A continuación, se enumeran algunos elementos técnicos que se deben considerar en la etapa de deduplicación:

 

Volumetría Estimación del número de registros a procesar
Campo(s) maestro(s) Identificación los campo(s) único(s) e irrepetible(s)
Tipos de datos Consideración los diferentes tipos de datos (char, int, decimal, double)
Tipo de source y target Análisis de los objetos a trabajar, tablas o archivos planos
Tiempo de procesamiento Estudio de las ventanas de tiempo y ejecución
Reportes Necesario una verificación de si se desea entregar un reporte de registros duplicados y si se deben o no eliminar

Técnicas de deduplicación

A continuación, se muestra un conjunto de técnicas que se pueden aplicar para eliminar datos duplicados mediante el uso de Powercenter.

Aggregator

Probablemente sea una de las técnicas más popular en un proceso de deduplicación. La base de este proceso se centra en el uso de un Aggregator Transformation, donde se habilita la opción Group By agrupando por los campos maestros que deberían ser únicos e irrepetibles.

Mediante esta técnica, es posible  generar un reporte cuantificando el número de registros duplicados por cada clave maestra.

Consideraciones

  • Aplica para objetos relacionales o archivos planos
  • Ordenación previa del universo por llave maestra (en función de la volumetría)
  • Identificación de grupos: (dup_rec = count > 1) (uni_rec = count =1)
  • Permite la generación de reportes

Expression

Es posible identificar los duplicados mediante el uso de una expresión en powercenter. Esta técnica consiste en la ordenación previa de todos los registros (por los campos maestros) y en el uso de un Expression Transformation para compararlos y establecer un criterio de duplicidad. Después, es posible su eliminación haciendo uso de un filtrado.

Consideraciones

  • Aplica para objetos relacionales o archivos planos
  • Ordenación previa de los datos por el campo maestro
  • Creación de puertos (contador, comparación, valor actual y valor anterior) en la expresión
  • Creación de un flag para identificar registros duplicados
  • Permite la generación de reportes

Sorter

Este proceso se centra en el uso de un Sorter Transformation habilitando la opción de Distinct para lograr la eliminación de registros duplicados.

Consideraciones

  • Aplica para objetos relacionales o archivos planos
  • Habilitar todos los campos como llave
  • Habilitar la opción Distinct
  • No permite la generación de reportes

SQ Archivo Plano

En esta técnica se aplica la deduplicación para registros leídos directamente desde la fuente origen sin pasar por alguna otra transformación. Para ello, es necesaria la creación de un Command Task en el Workflow Manager y el uso del comando sortfile.txt |unique.

Consideraciones

  • Aplica para archivos planos
  • Utilization de un Command Task (Workflow Manager)
  • Creación de un comando personalizado: sortfile.txt |unique
  • No permite la generación de reportes

SQ Objeto Relacional

En esta técnica se aplica la deduplicación para registros leídos directamente desde la fuente origen modificando la query agregando la sentencia Select Distinct en el  Source Qualifier.

Consideraciones

  • Aplica para objetos relacionales
  • Habilitar la opción Select Distinct
  • Creación de una query personalizada iniciando con: Select distinct campo1, campo2…
  • No permite la generación de reportes

Cualquiera de las técnicas expuestas anteriormente permite lidiar con los datos duplicados y poder así obtener información integra que permita mejorar la tomar de decisiones. En esta entrada se han expuesto varias técnicas pero es importante usar siempre aquella que más se ajuste a las necesidades del proyecto.