Maestría en Analítica de datosBig Data
Clase N°04 | Procesos ETLRequerimientos de información
Extracción y Transformación (detalles de implementación)
Requerimientos de herramientas ETL
Comenzamos a las:
Bogotá, 27 de Agosto de 2021.
Anteriormente en: Big Data• Qué es Big Data.
• Definición parcial.
• Programación para el análisis de datos• Repaso Python (bibliotecas y paradigmas de programación).
• POO (Programación orientada a objetos) .
• Propósito de la analítica de Big Data.
• Proveer la arquitectura adecuada para el manejo de grandes volúmenes de datos.
• Manipulación.
• Procesamiento.
• Análisis.
• Tipos de análisis.
• Pasado: Qué ocurrió?
• Descriptivo (Revelar relaciones).
• Diagnóstico (Revelar patrones).
• Futuro: Qué ocurrirá?, Qué es mejor?, Qué acción tomar?
• Predictiva (revelar tendencia/perspectiva).
• Prescriptiva (Revelar dirección/principios).
• ETL (Extract,Transform,Load).
• Etapas
• Extraer.
• Transformar.
• Cargar.
• Herramientas
• Tipos de datos.
• Datos estructurados.
• No estructurados.
• Bases NoSQL.
• Definión.
• Aplicación.
• Tipos de bases NoSQL• Clave – Valor
• Documentales
• Procesamiento de datos• Map - Reduce.
• Arquitectura MapReduce.
• Computo distribuido.
• Computo paralelo.
• Arquitecturas y marcos de trabajo para cómputo distribuido y/o paralelo.
• Herramientas y tecnologías actuales en Big Data.• Investigación y presentación.
Contenido
• ETL• Requerimientos de información en función de los procesos de analítica
• Estandarización de flujos de trabajo• CRISP-DM
• ASUM
• TDSM
• Integración de datos
• Consideraciones de Implementación I• Extracción
• Transformación
• Requerimientos para la elección de herramientas ETL en el mercado
Requerimientos de información en función del tipo de analítica
Análisis de datos | Big Data
Máquina a Máquina: M2M
Internet de las cosas: IoT
Además: • Veracidad (validez de los datos y los resultados de la analítica)• Valor (aporte de los resultados a la comprensión del entorno y la
toma de decisiones)
Tipos de análisis de datos (complejidad)
https://www.altexsoft.com/blog/analytics-maturity-model/
Tipos de análisis de datos: madurez vs. valor
Ámbitos de ejercicio vs aplicaciones (analítica)
Estandarización de flujos de trabajoAnalítica de Datos y Big Data
CRISP-DM (1999)
• Resultante del programa marco europeo ESPRIT (Investigación en Tecnologías de la Información)• Se publicó en marzo de 1999
• Modelo flexible en términos de procesos y herramientas
• Adaptable a las necesidades de información de la organización
• Articulación con procesos futuros
• Orientado a Data Mining. Su equipo de soporte descontinuó la documentación
ASUM (IBM, 2015)
1. Evaluation of the organization's readiness and conditions for the analytical process.
2. Understanding of the organization's information needs (business model; questions and problems that guide the analytics process).
3. Understanding the data (validation of the data quality -format and content-, descriptive statistics)
4. Preparation of complete data (profiling, mapping of source systems to destination systems, ETL processes).
5. Modeling o Exploration, selection and implementation of methods for the identification of patterns, trends, categories, etc.
6. Evaluation of the process.
7. Deployment in the support information system.
8. Feedback (based on the effectiveness of the models in production).
Microsoft TDSM (Ciencia de Datos)
• “Team Data Science Process”• Metodología Ágil e Interactiva• Orientada a Ciencia de Datos
de tipo predictivo
• Componentes clave• Definición del ciclo de vida de
ciencia de datos (izquierda)• Estructura estandarizada de
proyectos de DS• Infraestructura y recursos
recomendados• Herramientas y utilidades
recomendadas para ejecuciónde proyectos
Microsoft TDSM proyecto
Roles y tareas Estructura del proyecto
Integración de Datos
* https://www.superbcrew.com/astera-software-simplifies-and-automates-data-integration-initiatives-for-enterprise-ecosystems/
Consideraciones de implementación IExtracción y Transformación
Extraction, Transformation and Loading (ETL)
Requerimientos*
* Microsoft
Repaso: Requisitos de las pruebas en procesos ETL• Las pruebas deben identificar los datos incompatibles de diferentes fuentes, así
como los datos duplicados que deben eliminarse.
• Las pruebas deben identificar cualquier pérdida de datos incurrida durante elproceso ETL.
• Las personas responsables de las pruebas ETL deben tener privilegios paraejecutar trabajos ETL.
• Las pruebas deben verificar que el proceso pueda manejar el volumen de datosque se transferirán, así como la complejidad de esos datos.
• Las pruebas deben identificar cualquier problema dentro de los procesos yprocedimientos comerciales que provoquen una producción inadecuada dedatos, la duplicación de datos o la falta de datos críticos.
• Las personas que realizan las pruebas deben poder crear o adquirir suficientesdatos de prueba para que el procedimiento de prueba sea completo y preciso,además de ser indicativo de cómo progresará el procedimiento ETL con los datoscomerciales reales.
Repaso: Validaciones en procesos ETL
• ¿La transferencia de datos desde lafuente a su destino se realizó segúnlo planeado?
• ¿Llegaron los datos que esperaba?
• ¿Están cargados todos los camposde la base de datos?
• ¿Hubo algún truncamiento de losdatos?
• ¿Los datos de la suma decomprobación para el recuento deregistros coinciden entre el origen yel destino?
• ¿Se registró correctamente algúndato rechazado?
• ¿Los registros contienen detallesadecuados sobre los problemas?
• ¿Se han verificado todos loscampos de valor NULO?
• ¿Se han cargado conjuntos dedatos duplicados?
• ¿Puede verificar la integridad de losdatos transferidos?
Repaso: ejemplo de gestión de excepciones
Repaso: Lógica de reinicioProceso principal Subproceso
Consideraciones de implementación sobre la Extracción
ETL: Extracción
Extracción
Detectar cambios en la fuente original
Adquirir desde la fuente (acceder-descargar-filtrar)
Staging
• ¿Ha habido algún cambio en los datos relevantes desde la última ejecución?• Decidir la estrategia para procesar registros nuevos o
actualizados.
• Las actualizaciones de datos son notificadas por la fuente o deben ser consultadas.• Estrategias de extracción frente a recepción• Las estrategias de publicación-suscripción podrían
reducir la complejidad del proceso y mejorar su estabilidad
• Almacenamiento o no• Los archivos de texto sin formato son simples, más
fáciles de explorar y procesar en contraste con los archivos binarios
Formatos de datos más comunes
• Genéricos: archivos en texto plano (CSV, TSV), XML, JSON
• Orientados a drivers para gestores de bases de datos: ODBC, JDBC
• Orientados a almacenamiento distribuido: Hadoop Distributed File System (HDFS), Hive/HCatalog
• Propietarios: Oracle, IBM DB2, SQL Server, Sybase, GreenplumMainframe (IBM z/OS),
• Orientados a frameworks: IBM Websphere MQ, Salesforce.com, SAP/R3, Teradata, Vertica, Netezza
Consideraciones de implementación sobre la Transformación
Transformación
• ¿Cómo se ensamblarán los registros?• Los datos generalmente provienen de diferentes fuentes,
en diferentes formatos y en diferentes intervalos de tiempo (actualizaciones).
• ¿Cuáles son las reglas de deduplicación?• Mecanismos consistentes para reducir la complejidad y
mejorar la estabilidad del sistema.
• ¿Cómo se evaluarán y procesarán los registros defectuosos?• Siempre se requiere detección, gestión y auditoría.
• Otras transformaciones:• Transformaciones específicas según problema, generación
de claves, convenciones dentro del sistema de información, etc.
Transformación
Limpieza de datos
Eliminación de Duplicados
Staging
Transformaciones específicas según
problema
Transformaciones
• A escala de registro: Aggregation, Copy, Join, Sort, Merge, Partition, Filter, Reformat, Lookup
• Matemáticas: +, -, x, /, Abs, IsValidNumber, Mod, Pow, Rand, Round, Sqrt, ToNumber, Truncate, Average, Min, Max
• Lógicas: And, Or, Not, IfThenElse, RegEx, Variables
• De cadena: Concatenate, CharacterLengthOf, LengthOf, Pad, Replace, ToLower, ToText, ToUpper, Translate, Trim, Hash
• De fecha: DateAdd, DateDiff, DateLastDay, DatePart, IsValidDate
• De formato: ASCII, EBCDIC, Unicode
Transformación
Operativización e instrumentación
Cronograma
Notificaciones
Monitoreo de actividad
Auditoría
Copias de respaldo
Seguridad
Re-ejecución
Regulación
• ¿El proceso terminó correctamente?
• ¿Es posible monitorear el proceso?
• ¿Hay suficientes detalles en caso de errores en tiempo de ejecución?
• ¿Es posible auditar o solucionar errores en tiempo de ejecución?
• En caso de falla, ¿es posible reiniciar el proceso sin intervención humana?
• ¿Es posible proteger el código fuente y los datos tanto transferidos como almacenados?
• ¿Es posible confiar en el sistema resultante?
Requerimientos de las herramientas ETL
Integración de datos en el proceso analítico
Ejemplo según Talend https://www.talend.com/es/resources/etl-tools/
Consideraciones sobre herramientas ETL (ELT) en el mercado• Una herramienta de ETL debería funcionar correctamente con las últimas
innovaciones y adaptarse fácilmente a nuevas tecnologías. • Las buenas herramientas de ETL podrán integrarse con tecnologías serverless, Spark,
Snowflake, machine learning, etc., y adaptarse rápidamente a nuevas tecnologías que aún no conocemos.
• La escalabilidad es muy importante al elegir herramientas • Escalado horizontal/vertical
• La portabilidad es una capacidad importante de las herramientas de ETL, pero que muchas veces se pasa por alto. Por ejemplo: • El ecosistema Apache Hadoop está avanzando a gran velocidad. En 2014 y 2015 la
norma era MapReduce, pero a finales de 2016 Spark se convirtió en la nueva solución por defecto. Si en su día había optado por de programación a mano, resultaba imposible portar ese código de MapReduce a Spark. Las principales herramientas de ETL permiten este tipo de cambios sin problemas
Requerimientos de las herramientas ETL I
• Leer y escribir a partir del abanico completo de fuentes de datos que necesite, estén ubicadas en la nube o localmente.
• Realizar procesos de transformación de datos (ordenar, filtrar y agregar).
• Brindar capacidades de calidad y gobernanza de datos integradas, como eliminación de duplicados, correspondencias y perfiles de datos.
• Incluir herramientas de colaboración. • Con ello resultará más fácil reutilizar elementos de desarrollo anteriores y los flujos
de integración de datos resultantes pueden ser más eficientes.
• Una única tarea puede alimentar varios destinos en lugar de tener una serie de flujos de integración de datos haciendo prácticamente lo mismo sin parar.
https://www.talend.com/es/resources/etl-tools/
Requerimientos de las herramientas ETL II • Con el cambio a los “sistemas en la nube” (cloud), la capacidad de
adaptarse a procesos CI/CD (Continuous Integration/Delivery) es una necesidad.
• La herramienta de ETL debería poder operar en cualquier entorno, en infraestructuras locales, cloud o híbridas.
• Una herramienta de ETL debería poder adaptarse a nuevos proveedores sin problemas. Por ejemplo: • Portar un datalake de Redshift a Snowflake según ofertas o requerimientos• Usar AWS como proveedor de cloud durante un trimestre, pero usar Azure al
siguiente.
Es importante disponer de una herramienta de ETL que funcione en un entorno multi-cloud y sepa adaptarse a nuevos proveedores y entornos de despliegue modificando simplemente algunos componentes, pero conservando la lógica del negocio y de la transformación.
https://www.talend.com/es/resources/etl-tools/
Taller
Trabajo escrito (en grupo)• Dadas la Ley 1581 de 2012 y el Reglamento General de Protección de Datos de la Unión
Europea (GDPR):• Hacer un comparativo entre Ley 1581 de 2012 y la GDPR
• Mencionar los antecedentes de cada una de las leyes
• Explicar las similitudes y las diferencias
• Dos ejemplos de no cumplimiento de la normativa (1581 de 2012 y/o GDRP)
• Dos ejemplos de cumplimiento de la normativa (1581 de 2012 y/o GDRP)
• Entrega: 3 de septiembre de 2021.
• Máximo cuatro páginas (incluye portada)
• Aplicar una norma estándar para presentación de trabajos escritos (APA, IEEE, etc)
Proyecto (primera entrega)
Reporte (en grupo)• Según sus intereses, competencias y, potencialmente, acceso a datos, definir un Proyecto en
Analítica de Grandes Volúmenes de Datos
• Entrega: 10 de septiembre de 2021.
• Máximo cuatro páginas (incluye portada). Brief que contenga:• Definición del problema (o pregunta de investigación)
• Objetivo principal del proyecto
• Fuentes de datos que serán empleadas
• Métodos de análisis
• Resultados esperados
• Bibliografía base
• Aplicar una norma estándar para presentación de trabajos escritos (APA, IEEE, etc)
Top Related