Este repositorio contiene el trabajo de fin de grado, donde se aborda el aprendizaje y aplicación de los fundamentos de computación distribuida con Spark. El objetivo es ejecutar diferentes consultas con distinto grado de complejidad, visualizando y analizando los resultados de manera gráfica. Además se realizara el despliegue de las consultas en cluster AWS. Para el proyecto se trabajará con datos meteorológicos obtenidos de la página oficial de la AEMET.
- Obtención de datos meteorológicos a través de la página oficial de la AEMET.
- Desarrollo de consultas básicas con Spark en Scala.
- Creación y configuración de un cluster de computación distribuida en Amazon Web Services para su uso con Spark.
- Desarrollo de queries complejas para ilustrar buenas prácticas en el uso eficiente del cluster y aprovechamiento de las técnicas de optimización de Spark.
- Visualización de los resultados de las consultas mediante librerías del ecosistema de Scala y Python.
- Análisis de los resultados obtenidos para obtener conclusiones.
A continuación se encuentran enlaces a los recursos que pueden resultar de interés:
- Memoria
- Presentación
- Consultas y visualización de resultados:
- Programa a desplegar en AWS
En caso de querer hacer uso de los datos que se emplearon para el proyecto, puedes descargarlos en formato Parquet desde el contenedor S3 de AWS siguiendo estos pasos:
-
Primero de todo se deberá disponer de AWS Cli para poder ejecutar comandos de AWS. En caso de no disponer de este, puedes obtener más información sobre cómo descargarlo en esta página
-
Ejecutar el siguiente comando para realizar la descarga de los datos:
aws s3 sync url_del_contenedor nombre_carpeta_destinoEn nuestro caso, el comando se vería así:
aws s3 sync s3://tfg-alvaro-sanchez data