Cámara de compensación del transporte público de Tenerife: optimizando algoritmos a través de PySpark
Author
Cañizares Herrera, LauraDate
2024Abstract
Una cámara de compensación es un sistema que liquida transacciones financieras entre múltiples partes. En este proyecto, se analizan las compensaciones de los importes de los abonos entre los distintos operadores del transporte público de Tenerife, de manera que, se reparte el valor de cada abono en función del uso que haya realizado el usuario en cada uno de ellos. El objetivo principal es evaluar el algoritmo desarrollado por Transportes Interurbanos de Tenerife S.A. (TITSA) para el procesado de la cámara de compensación de los importes de los abonos entre los distintos operadores (T.I.T.S.A, Metropolitano y Transportes de la Esperanza), así como optimizar sus tiempos de ejecución y su consumo de recursos. Esto ayudará a liberar de recursos al servidor SQLServer, disminuir la ventana temporal en la que se tiene disposición de los datos y la experiencia del usuario en cuanto a la disposición de los mismos. Para su implementación se ha utilizado el lenguaje de programación Python con la finalidad de comparar los tiempos de ejecución utilizando la librería de Pandas y PySpark. Además, la plataforma Power BI para convertir los datos tratados en información de calidad con el fin de mejorar la toma de decisiones, diseñar estrategias e implementar cambios en la organización. A Clearing House is a system that settles financial transactions between multiple operators. In this project, the compensation of the amounts of the subscriptions between the different public transport in Tenerife is analyzed, so that the value is distributed according to the use that the user has made in each one of them. The main objetive is to evaluate the algorithm developed by Transportes Interurbanos de Tenerife S.A. (T.I.T.S.A) for the processing of the Clearing House of the amounts of the subscriptions between the differents operators (T.I.T.S.A, Metropolitano and Transportes de la Esperanza), as well as to optimize their execution times and their consumption of resources. This will help to free up SQLServer resources, reduce the window time in which the data is available and improve the user experience in terms of data availability. For its implementation, the Python programming language has been used in order to compare execution times using the Pandas and PySpark libraries. In addition, the Power BI platform is used to convert the processed data into quality information in order to improve decision making, design strategies and implement changes in the organization.