Releases: HuemulSolutions/huemul-bigdatagovernance
Versión 2.0.2
Agrega parámetro getMetadataFromHive y captura excepción al leer metadata desde Hive
Versión 2.1 - Mejoras en DataQuality
Implementa los siguientes issues:
#56 incorpora opción para dejar registros en detalle de DQ cuando se utiliza el método executeOnlyInsert
#58 Excluye registros que no cumplen con condiciones de DQ (con huemul_DataQuality y FK)
#60 Incluye Id de DQ en la tabla de detalle de DQ: permite enlazar modelo de control con detalle de DQ
#62 Incorpora detalle del avance en las reglas de DQ, y posibilidad de separar la ejecución para ambientes pequeños.
#64 Crea método savePersistToDisk para guardar el resultado de un DF en HDFS
#68 Permite crear cache de metadata de HIVE para mejorar tiempo de respuesta al inicio de ejecución.
#71 Incorpora versión del modelo de control para mejorar la compatibilidad entre versiones.
#72 Guarda la versión de huemul y modelo de control ejecutados en la tabla control_processExec
#73 Parametrizar los códigos de error externos para PK y FK
#63 Optimización de código:
version 2.0.1
corrige #52
version 2.0
Release 2.0
Este nuevo release contiene lo siguiente:
Resumen nuevas funcionalidades:
- issue #16: Permite indicar opción de hacer backup sobre tablas maestras y de referencia. Para ello en globalSettings se debe agrega el atributo MDM_SaveBackup para habilitarlo a nivel de aplicativo, MDM_Backup_Path para indicar el path y el método setSaveBackup en huemul_Tables para indicar qué tablas específicas se deben respaldar.
- issue #34: En huemul_BigDataGovernance se agrega método huemul_showDemoLines para habilitar o deshabilitar el despliegue de 2 líneas de ejemplo al abrir un archivo RAW
- issue #35: A partir de esta versión se incluye compatibilidad con Oracle y SQL Server para el modelo de control de procesos. Lo anterior se suma a compatibilidad con PostgreSQL y MySQL. Esta compatibilidad incluye aplicar cambios en los nombres de algunos campos en el modelo de control actual, todo esto se hace de forma automática ejecutando el script de actualización del modelo de control, por tanto todos los datos del modelo de control anterior se mantienen intactos.
- issue #36: A partir de esta versión se almacena el resultante de DataQuality al fallar las reglas de Primary Key y Foreing Key.
- issue #37: A partir de esta versión se incluye compatibilidad con log4j, de esta forma huemul registra toda su actividad utilizando esta librería.
- issue #38: A partir de esta versión es posible incluir full trazabilidad de cambios en los valores de los campos para aquellas tablas que sean de tipo master y reference
- issue #43: En huemul_DataQuality se agrega el método setDQ_ExternalCode que permite incluir un ID externo para enlazar las reglas de calidad con una herramienta de gestión externa.
- issue #44: A partir de esta versión, se incorpora el linaje de datos a nivel de campos, esto es posible utilizando los métodos de transformación de DataFrame expuestos por Huemul a través de huemul_Tables, huemul_DataLake y huemul_DataFrame.
- issue #45: En huemul_BigDataGovernance se agrega método hdfsPath_exists que retorna true si la ruta indicada existe en el directorio HDFS
- issue #45: En huemul_BigDataGovernance se agrega método hiveTable_exists que retorna true si la base de datos y tabla existe en Hive
- issue #45: En huemul_Table se agrega método getEmptyTable que retorna un DataFrame vacío con la estructura definida en la tabla, y crea una vista temporal con el nombre indicado en Alias
- issue #48: En modelo de control de DataQuality ahora se registra la duración de aplicar la regla, y se determina si la regla generó como resultado un warning o un error.
- issue #49: En huemul_Control agrega método getDQResult(), el cual retorna el resultante de la ejecución de Data Quality en un arreglo de datos, con la estructura del modelo de control
- issue #49: En huemul_BigDataGovernance agrega método getPath(), el cual retorna el path indicado para una configuración específica.
- issue #50: En huemul_control se agrega método para indicar un código externo de Glosario de Negocio.
Resumen cambios de comportamiento:
- Ajustes al generador de código: Se adapta para incorporar los cambios de este release
- issue #44: El método DF_from_DF recibe un nuevo parámetro "AliasFrom: String", ahora queda de la siguiente forma: DF_from_DF(DFFrom: DataFrame, AliasFrom: String, AliasTo: String).
- issue #48: El atributo isError tendrá el valor true solo cuando algunas de las reglas haya fallado, y la clasificación de esa regla sea "ERROR", en caso que la clasificación sea "WARNING" no contendrá valor. El comportamiento anterior no discriminaba si era "ERROR" o "WARNING".
- issue #35: Se debe ejecutar script de actualización del modelo de control por compatibilidad del modelo de control de procesos con Oracle.
- Se cambia de mayúscula a minúscula algunos nombres de métodos y atributos.
Version 1.4
Se implementan las siguientes funcionalidades:
#33 Resumen plan de pruebas: Se dispone de método TestPlan_CurrentIsOK para saber si el plan de pruebas para un proceso en concreto terminó correctamente, y el método TestPlan_IsOkById para conocer la cantidad total de procesos terminados correctamente.
Se implementan las siguientes correcciones:
- Se corrige bug al almacenar detalle de filas con error en DQ.
Versión 1.3.1
Implementa HotFix: error de conversión Integer a Int por valor default null en ExecuteFull
Version 1.3
Se implementan las siguientes mejoras:
- Mejora en mensajes de finalización de procesos en modo RegisterInControl=false
- #24 SetNumPartition
- #24 Se agrega opción de N° de particiones al ejecutar DF_From_SQL (DF_from_SQL(Alias: String, sql: String, SaveInTemp: Boolean = true, NumPartitions: Integer = null)
- #25 validación de seteo de variables de GlobalSettings
- #27 Mejora en mensajes de finalización: se agrega tiempo transcurrido por cada proceso
- #28 se agrega sesión de spark enviada por usuario (huemul_BigDataGovernance (appName: String, args: Array[String], globalSettings: huemul_GlobalPath, LocalSparkSession: SparkSession = null)
- #29 agrega parametros a método execute
- executeFull(NewAlias: String, storageLevelOfDF: org.apache.spark.storage.StorageLevel = null)
- executeOnlyInsert(NewAlias: String, storageLevelOfDF: org.apache.spark.storage.StorageLevel = null):
- executeOnlyUpdate(NewAlias: String, storageLevelOfDF: org.apache.spark.storage.StorageLevel = null)
- executeSelectiveUpdate(NewAlias: String, PartitionValueForSelectiveUpdate: String, storageLevelOfDF: org.apache.spark.storage.StorageLevel = null)
Version 1.2: Guarda Detalles de DQ con errores
Se implementaron las siguientes funcionalidades:
Detalle de filas que no cumplen con criterios en DataQuality (#7 )
Versión 1.2
Se implementaron las siguientes mejoras:
- JDBC habilitado para registrar el modelo de control, antes solo PostgreSQL (#18 )
- Mejora lógicas de búsquedas al registrar modelo de control, hace más eficiente el registro (#12)
- Agrega dependencias de HIVE para modelo de control
- Incorpora cálculo de diferencia de fechas en modelo de control
- Mejora textos y mensajes en modelo de control (#9)
- Mejoras en el plan de pruebas
- Mejoras varias en mensajes de error #
- BUG: Agrega control de error en modelo de control (#17)
Version 1.0 Huemul-BigDataGovernance
Version 1.0 de Huemul-BigDataGovernance, este release permite:
- Control de PK y FK al insertar y actualizar datos utilizando la librería
- Validaciones automáticas de Null en cada campo de una tabla
- Validaciones automáticas de Unique en cada campo de una tabla
- Validaciones automáticas de largos de textos
- Validaciones automáticas de rangos de números
- Validaciones automáticas de rangos de fechas
- Generación automática de código a partir de definición de estructura de archivos RAW
- Creación de Diccionario de datos (tablas, campos, relaciones entre tablas)
- Creación de Diccionario de DataLake (archivos RAW, ubicación, definición de estructuras)
- Creación de Diccionario de Validación de Datos (validación a nivel de campo y Tabla)
- Creación de Diccionario de Procesos
- Control y Seguimiento de Ejecución de Procesos
- Control y Seguimiento de Resultado de ejecución de DQ
- Control de permisos en ejecución de procesos por otros procesos
- Diccionario de dependencia entre procesos
- Clasificación de Tablas y Campos, Identificación de responsables y personas de contacto.