Closed sebasrod closed 5 years ago
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.
El siguiente ejemplo es una implementación que puede correr en el horario que el administrador lo establezca:
import com.huemulsolutions.bigdata.control.huemul_Control
import com.huemulsolutions.bigdata.control.huemulType_Frequency
import com.huemulsolutions.bigdata.common.huemul_BigDataGovernance
object dropOldBackups {
def main(args: Array[String]): Unit = {
val huemulBigDataGov = new huemul_BigDataGovernance(s"BigDataGovernance Util", args, com.yourcompany.settings.globalSettings.Global)
//numBackupToMaintain
val numBackupToMaintain = huemulBigDataGov.arguments.GetValue("numBackupToMaintain", null,"param missing: numBackupToMaintain. Example: numBackupToMaintain=2 to keep 2 recent backups")
if (numBackupToMaintain != null) {
val Control = new huemul_Control(huemulBigDataGov,null, huemulType_Frequency.ANY_MOMENT, false, true)
Control.control_getBackupToDelete(numBackupToMaintain.toInt)
}
huemulBigDataGov.close()
}
}
Actualmente es posible realizar backup de las tablas maestras y de referencia, estos backup quedan indefinidamente en HDFS hasta que el usuario las elimine manualmente.
Se requiere implementar una función que deje solo los N backups mas nuevos, y el resto los elimine en forma automática.
Para realizar esto, se debe utilizar la información almacenada en el modelo de control.