Generadores escalables en Apache Flink: implementación y aplicaciones en testing y pruebas de carga
Debido al auge del procesamiento masivo de datos y al surgimiento de motores capaces de realizar esta tarea, se ha visto la necesidad de cambiar la manera en la que se testean las aplicaciones que se usan para dichos motores. La comprobación mediante test unitarios es insuficiente para poder probar...
| Autor: | |
|---|---|
| Tipo de recurso: | tesis de maestría |
| Fecha de publicación: | 2020 |
| País: | España |
| Institución: | Universidad Complutense de Madrid (UCM) |
| Repositorio: | Docta Complutense |
| Idioma: | español |
| OAI Identifier: | oai:docta.ucm.es:20.500.14352/9056 |
| Acceso en línea: | https://hdl.handle.net/20.500.14352/9056 |
| Access Level: | acceso abierto |
| Palabra clave: | 004(043.3) Apache Flink ScalaCheck Testeo basado en propiedades Tolerancia a fallos Escalabilidad Specs2 Generadores DataSet Scala. Property-based testing Fault-tolerance Scalable Generators Informática (Informática) 1203.17 Informática |
| Sumario: | Debido al auge del procesamiento masivo de datos y al surgimiento de motores capaces de realizar esta tarea, se ha visto la necesidad de cambiar la manera en la que se testean las aplicaciones que se usan para dichos motores. La comprobación mediante test unitarios es insuficiente para poder probar la funcionalidad de un programa que manipula millones de datos, sin tener que dedicar una gran cantidad de tiempo para implementar dichos test. Existe una metodología llamada Property-based testing (PBT), derivada del Random testing que genera entradas de datos de manera aleatoria, pudiendo así crear test genéricos. Actualmente, se podría considerar que algunos de los motores más usados son Apache Spark y Apache Flink, pudiendo ambos procesar tanto flujos continuos de datos, como datos en lotes. Apache Spark ya cuenta con aplicaciones basadas en PBT para ambos tipos de procesamiento, mientras que Apache Flink solo tiene bibliotecas para usar PBT en flujos de datos. Así pues, el objetivo principal de este proyecto es desarrollar una herramienta que permita usar PBT en grandes cantidades de datos procesadas en lotes, teniendo en cuenta que dicha herramienta debe de implementar algunas de las características principales de los motores de procesamiento masivo de datos (escalabilidad, distribución y tolerancia a fallos). |
|---|