Releases: HuemulSolutions/huemul-bigdatagovernance
Version 2.6.3 - Scala 2.12
Upgrade de scala, desde 2.11 a 2.12, plan de pruebas 100% exitoso, se evidencia el siguiente cambio en comportamiento :
Al ejecutar la consulta
spark.sql("select cast(' 1 ' as int) as num").show()
en versión 2.3 de spark retorna NULL, mientras que en versión 3.x de spark retorna 1.
En resumen, la versión 3.x de spark tiene el comportamiento esperado de esta transformación.
Version 2.6.3
Implementa las siguientes mejoras:
- issue #135: Máximo tiempo de espera en sigleton. Se crea método setMaxMinutesWaitInSingleton en globalSettings, el valor por default es 720 minutos
- issue #136: Agregar máxima cantidad de reintentos para validar si app está viva. Se crea método setMaxAttemptApplicationInUse en globalSettings, con valor por default 5
Version 2.6.2
Implementa las siguientes mejoras:
#130 permite redirección de URL para monitoreo de singleton: al implementar algunas estrategias de seguridad, la api de monitoreo de la sesión es redireccionada. Esta mejora permite obtener la URL redireccionada.
#131 agrega nuevo comportamiento para marcar registros eliminados en tablas master y reference: se agrega un nuevo método, para indicar si las filas que no existen en el origen, deben ser marcadas como eliminadas en el destino, o el status anterior se debe mantener.
#129 Bump junit from 4.11 to 4.13.1 --> recomendación de gitHub
Version 2.6.1
- #119. Simplifica métodos DataLake
Se implementan los siguientes métodos para definir la estructura de archivos raw:
val dataLakeConfig: huemul_DataLakeSetting = new huemul_DataLakeSetting(huemulLib)
.setStartDate(2010,1,1,0,0,0)
.setEndDate(2050,12,12,0,0,0)
//Path & names
.setGlobalPath(huemulLib.GlobalSettings.RAW_BigFiles_Path)
.setLocalPath("local_path/")
.setFileName("fileName_{{YYYY}}{{MM}}{{DD}}.txt")
.setFileType(huemulType_FileType.TEXT_FILE)
.setContactName("user name")
//Data
.setColumnDelimiterType(huemulType_Separator.CHARACTER)
.setColumnDelimiter("\\|")
.addColumn("periodo", "periodo", StringType,"periodo de los datos")
.addColumn("empresa", "empresa", StringType,"Nombre de la empresa")
.addColumn("app", "app", StringType,"Canal utilizado")
.addColumn("producto", "producto", StringType,"nombre producto")
.addColumn("cantidad", "cantidad", IntegerType,"Cantidad")
.addColumn("precio", "precio", IntegerType,"Precio")
//Header
.setLogNumRowsColumnName(null)
.setHeaderColumnDelimiterType(huemulType_Separator.CHARACTER)
.setHeaderColumnDelimiter("\\|")
.setHeaderColumnsString("VACIO")
- #111. JDBC Url does not support % character in the password
Se agregan dos métodos en la clase huemul_KeyValuePath que permiten asignar un userName y password a la conexión al modelo de control. Con esto se puede elegir entre enviar usuario y password por el connectionString, o usando estos nuevos métodos
A modo de ejemplo, los métodos se usan de la siguiente forma.
Global.CONTROL_Setting.append(new huemul_KeyValuePath("production",controlConnString)
.setUserName(controlUserName)
.setPassword(controlPassword)
)
Version 2.6
Release 2.6
Este nuevo release contiene lo siguiente:
- issue #98: Opción para agregar columnas particionadas en tablas master y reference: Desde esta versión es posible tener más de un campo particionado en tablas de tipo transaction, y se incorpora la opción para particionar tablas de tipo master.
- issue #112: Customizar nombre de columnas de control en tablas: Desde esta versión es posible asignar nombres propios a los campos mdm_processnew, mdm_processChange, mdm_fhCreate, mdm_fhChange y mdm_hash.
- issue #67: Integración con BigQuery: A partir de esta versión se pueden guardar tablas parquet directamente en Google Cloud Storage. La creación de las tablas en BigQuery aún es manual y se abordará en próximos release.
- issue #100: setDQ con Warning: Actualmente varias de las rutinas automáticas de DataQuality de huemul solo permitía generar errores sobre los procesos, a partir de esta versión es posible indicar el nivel de notificación de estas reglas, similar a la creación de reglas customizadas de DataQuality.
Versión 2.5
Release 2.5
Este nuevo release contiene lo siguiente:
- issue #106: Leer archivos AVRO, PARQUET Y ORC e integrarlos a clase huemul_dataLake: Desde esta versión es posible utilizar archivos PARQUET, AVRO Y ORC como definición de RAW, de esta forma es posible incluir la trazabilidad de estos archivos cuando el DataLake ha sido formado a partir de estos formatos y no directamente desde los ficheros origen.
- issue #107: Compatibilidad con AVRO al guardar los datos con Huemul: Desde esta versión es posible utilizar AVRO como tipo de almacenamiento en Huemul. Al igual que PARQUET, puede ser utilizado para guardar tablas de tipo master como de tipo transaction.
- issue #109: Integración con Hive Warehouse Connector: Permite utilizar el HWC para crear la metadata de HIVE en ecosistemas Hortonworks versiones 3.0.0 y 3.1.14.
version 2.4
Versión 2.4, ver release notes en wiki para más detalles.
Version 2.3.1
Resuelve issue #89
Version 2.3
Incluye nuevas funcionalidades
- #87: Creación de tablas externas en HIVE: Se agrega nueva opción en globalSettings para indicar conector JDBC de HIVE para crear metadata. Esta funcionalidad permite realizar las siguientes acciones:
- En caso de utilizar versiones Hortonworks 3.0.0 hasta 3.1.4, la metadata de spark está separada de Hive, por tanto las tablas creadas desde spark no son visibles en Hive.
- En caso de usar HBase: spark no permite crear tablas externas usando el SerDe de HBase.
Para usar esta nueva funcionalidad, se deben agregar las siguientes líneas al código de globalSettings:
//Agregar variable con opciones de conexió JDBC para HIVE
val HIVE_Setting = new ArrayBuffer[huemul_KeyValuePath]()
HIVE_Setting.append(new huemul_KeyValuePath("production",getKeyFromFile(s"${localPath}prod-demo-setting-hive-connection.set")))
HIVE_Setting.append(new huemul_KeyValuePath("experimental",getKeyFromFile(s"${localPath}prod-demo-setting-hive-connection.set")))
//Para indicar el uso adicional de HIVE mediante JDBC para crear la metadata.
Global.externalBBDD_conf.Using_HIVE.setActive(true).setActiveForHBASE(true).setConnectionStrings(HIVE_Setting)
Cuando se activa esta opción, también se mantiene activa la creación de metadata usando Spark.
Versión 2.2
Se implementan las siguientes mejoras:
- #79. Eliminar Backup de tablas maestras y de referencia: Agrega método control_getBackupToDelete(numBackupToMaintain: Int): Boolean. Recibe el parámetro "numBackupToMaintain" que indica la cantidad de backup que se mantendrán en HDFS (los "N" más nuevos). El resto los elimina.
- #65. Integración con HBase: Se agrega soporte para almacenar tablas de referencia y maestras en HBase.
- #66. Integración con ORC: Se agrega soporte para almacenar tablas en formato ORC.
Se implementan las siguientes correcciones (bug):
- #75. Mejorar método control_getDQResultForWarningExclude: Cuando modelo de control está apagado, se rescata esta información desde un arreglo interno y no desde el modelo de control.