logo SBA

ETD

Archivio digitale delle tesi discusse presso l’Università di Pisa

Tesi etd-07062020-000009


Tipo di tesi
Tesi di laurea magistrale
Autore
PRETE, GIAN MARCO
URN
etd-07062020-000009
Titolo
Sviluppo di un'architettura basata su Apache Spark per l'elaborazione massiva di dati di fatturazione in ambito energetico e comparazione con un'architettura basata su database relazionale Oracle
Dipartimento
INGEGNERIA DELL'INFORMAZIONE
Corso di studi
COMPUTER ENGINEERING
Relatori
relatore Prof. Cimino, Mario Giovanni Cosimo Antonio
relatore Prof.ssa Vaglini, Gigliola
relatore Rizzo, Antonino
Parole chiave
  • hbase
  • big data
  • dati massivi
  • apache spark
  • nosql
Data inizio appello
20/07/2020
Consultabilità
Non consultabile
Data di rilascio
20/07/2090
Riassunto
Il tema centrale di questo lavoro di tesi è illustrare i passaggi chiave che hanno portato alla costruzione di un’architettura distribuita in grado di processare e gestire in maniera efficiente dati massivi.
L’idea nasce dalle esigenze di un’azienda di sostituire l’attuale architettura Standalone, implementata completamente in linguaggio Java e procedure PL/SQL, che va a sfruttare principalmente l’affidabilità di un database relazionale Oracle, ma che presenta dei limiti prestazionali e difficoltà di gestione di una quantità così importante di dati. In particolare l’obiettivo dell’azienda è poter processare dati massivi in tempi relativamente ridotti e di poter memorizzare queste informazioni su database NoSql in grado in primo luogo di poter gestire dati non strutturati ed in secondo luogo di rendere l’accesso a queste informazioni efficiente. Questo permetterà di processare nuovamente i dati attraverso l’uso di algoritmi di Business Intelligence che permetteranno di estrarre informazioni utili al business aziendale.

La realizzazione del progetto va a sfruttare l’ecosistema Hadoop, in particolare le potenzialità del framework Spark e del database NoSql, HBase. Il sistema è stato implementato interamente in Scala, un linguaggio funzionale che meglio si presta ad effettuare operazioni di filtraggio e trasformazione dei dati necessarie per poter applicare determinate logiche di business. Il sistema deve poter leggere una notevole quantità di dati attraverso file xml o csv ed elaborarli attraverso l’esecuzione di processi Batch che si occuperanno di scrivere i risultati delle esecuzioni su HDFS (Hadoop Distributed File System). La scelta del framework Spark è sicuramente attribuibile alla sua capacità di processare i dati in modo veloce e sicuro grazie ai metodi innovativi di gestione dei dati e della computazione in-memory. Questo permette a Spark di ottenere delle performance maggiori rispetto ad esempio al framework MapReduce che va ad interagire direttamente con il disco.
L’obiettivo finale è duplice: implementare un’architettura basata sul framework Spark e ottimizzarla in modo da poter dimostrare l’efficienza di un sistema di calcolo distribuito predisposto per la gestione di dati massivi a discapito di un sistema Standalone, che soffre la gestione di una così vasta quantità di informazioni.
File