Disertación de Maestría
DOI
https://doi.org/10.11606/D.45.2020.tde-26052020-230822
Documento
Autor
Nombre completo
Fernanda de Camargo Magano
Dirección Electrónica
Instituto/Escuela/Facultad
Área de Conocimiento
Fecha de Defensa
Publicación
São Paulo, 2020
Director
Tribunal
Braghetto, Kelly Rosa (Presidente)
Alcazár, José de Jesus Pérez
Schwerz, André Luis
Título en portugués
Dataflows de tempo real como abstração para ferramentas de processamento de Big Data
Palabras clave en portugués
Cidades inteligentes
Dataflows
Processamento de big data
Workflows
Resumen en portugués
Grandes volumes de dados, provenientes de diversas fontes, são gerados continuamente nas cidades. O processamento e análise desses dados desempenham um papel fundamental na implementação de iniciativas para cidades inteligentes. Para processar Big Data urbano, é fundamental o uso de ferramentas de alto desempenho, que possam se beneficiar de computação paralela e distribuída para acelerar o processamento e prover respostas rápidas. Entretanto, esse uso não é trivial, pois as ferramentas, geralmente, não são interoperáveis e demandam que seus usuários tenham conhecimentos de computação paralela e distribuída e bancos de dados. Além disso, em cidades inteligentes, uma aplicação precisa ser capaz de se adaptar ao contexto atual de sua execução. Por exemplo, uma aplicação que mostra a situação atual do trânsito, em um contexto de indisponibilidade momentânea de dados coletados em tempo real, deve poder mostrar uma previsão do trânsito baseada em dados históricos, sendo necessária a combinação de processamento de dados em tempo real e em lotes. O objetivo deste trabalho é facilitar o uso de ferramentas de processamento de Big Data para desenvolvedores de software. Para isso, foi criada uma interface para especificação de workflows para o processamento de dados (ou dataflows) e um sistema de software que possibilita a execução deles em diferentes ferramentas de Big Data. Por um lado, a interface sintetiza os principais recursos dessas ferramentas, abstraindo suas especificidades e fornecendo uma representação padronizada para eles. Por outro lado, o sistema de software mapeia os dataflows definidos por meio da interface em modelos inteligíveis às ferramentas. A interface e o sistema propostos formam uma camada de abstração sobre os arcabouços de Big Data. Ambos foram validados e avaliados por meio da implementação de uma aplicação no domínio de mobilidade urbana, que processa dados reais da cidade de São Paulo. A aplicação escrita com o auxílio da interface foi analisada por meio de métricas de código-fonte. A partir da análise, foi possível concluir que houve ganhos com o uso da interface, como a redução no número de linhas, métodos, atributos, bem como a diminuição da complexidade ciclomática do código-fonte.
Título en inglés
Real time dataflows as abstraction for Big Data processing tools
Palabras clave en inglés
Big data processing
Dataflows
Smart cities
Workflows
Resumen en inglés
Large volumes of data, from different sources, are continuously generated in cities. Processing and analyzing these data play a key role in implementing smart city initiatives. In order to process urban Big Data, it is essential to use high performance tools, which can benefit from parallel and distributed computing to accelerate the processing and provide quick answers. However, this use is not trivial, as the tools are not interoperable and require knowledge of parallel and distributed computing and databases from their users. In addition, in smart cities, applications need to be able to self-adapt to the current context of their execution. For example, an application that shows the current traffic situation, in a context of momentary unavailability of data collected in real time, should be able to show a traffic forecast based on historical data, using a combination of real time and batch data processing. In this work, the goal is to facilitate the use of Big Data processing tools for software developers and, for that, we created an interface to specify workflows for data processing (or dataflows) and a software system that makes it possible to run them in different Big Data tools. On the one hand, the interface summarizes the main features of these tools, abstracting their specificities and providing a standardized representation for them. On the other hand, the software system maps the dataflows defined through the interface to intelligible models for the tools. The developed interface and system form an abstraction layer over the Big Data frameworks. Both were validated and evaluated through the implementation of an application in the field of urban mobility, using real data collected from the city of São Paulo. The application written with the aid of the interface was analyzed using source code metrics. From the analysis, it was possible to conclude that there was gain from the use of the interface, such as reducing the number of lines, methods, attributes, as well as decreasing the cyclomatic complexity of its source code.
ADVERTENCIA - La consulta de este documento queda condicionada a la aceptación de las siguientes condiciones de uso:
Este documento es únicamente para usos privados enmarcados en actividades de investigación y docencia. No se autoriza su reproducción con finalidades de lucro. Esta reserva de derechos afecta tanto los datos del documento como a sus contenidos. En la utilización o cita de partes del documento es obligado indicar el nombre de la persona autora.
Fecha de Publicación
2020-05-27