polito.it
Politecnico di Torino (logo)

Analysis of Spark and other SQL technologies on top of Hadoop with respect to performance and integration level into Hadoop

Danilo Cazzolla

Analysis of Spark and other SQL technologies on top of Hadoop with respect to performance and integration level into Hadoop.

Rel. Paolo Garza. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2018

Abstract:

Con questo lavoro si vogliono affrontare 2 problemi riguardanti l’elaborazione di una gran mole di dati al fine di poter rendere quest’ultima più agevole e performante al momento dell’utilizzo. Nella prima parte si affronta il problema del trasferimento di dati tra due database. Il database di destinazione (SAP HanaVora) risulta essere particolarmente performante nelle analisi di grandi moli di dati in quanto dispone di un buon livello di scalabilità. I due sistemi presentano alcune discrepanze nella rappresentazione dei dati pertanto il primo problema affrontato riguarda la verifica di compatibilità dei tipi di dato così da evitare inconsistenze di dati a trasferimento avvenuto. Il problema è stato affrontato sviluppando uno script Scala che effettua il parsing delle query di backup esportate dal DB di partenza (SAP S/4Hana). Le query sono scritte in SparkSQL. In seguito all’operazione, le query sono state inserite nel DB di destinazione.Il DB di SAP HanaVora è caratterizzato da una grande scalabilità che abbatte notevolmente i tempi di analisi. Il secondo problema affronta un cosiddetto ”bottle-neck” per un ulteriore incremento delle performance di analisi in casi particolari: nel caso le operazioni su gruppi di dati siano assenti, è possibile scalare l’infrastruttura di analisi per parallelizzare il processo di esecuzione delle query sottomesse. Tale processo di parallelizzazione viene effettuato da un componente noto come Transaction Coordinator che verrà discusso nel dettaglio. Ogni query sottomessa viene analizzata e convertita in una serie di query che verranno inviate alle unità parallele di esecuzione dette engines. Tali unità forniscono dei risultati che vengono conservati in un sistema di storage condiviso (HDFS) per essere immediatamente accessibili. Come anticipato, questa ulteriore parallelizzazione è possibile solo in assenza di operazioni che richiedono l’accesso all’intero set di record selezionati in quanto la condivisione di tali risultati parziali andrebbe ad annullare i benefici ricavati. La soluzione sviluppata è stata testata su campioni di dataset di grandezze diverse: i risultati riportati dimostrano che la soluzione è in grado di abbattere i tempi di esecuzione in maniera più che proporzionata al numero di engine utilizzati.

Relatori: Paolo Garza
Anno accademico: 2018/19
Tipo di pubblicazione: Elettronica
Numero di pagine: 44
Informazioni aggiuntive: Tesi secretata. Full text non presente
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Ente in cotutela: INP - Grenoble Institute of Technology - ENSIMAG (FRANCIA)
Aziende collaboratrici: NON SPECIFICATO
URI: http://webthesis.biblio.polito.it/id/eprint/9069
Modifica (riservato agli operatori) Modifica (riservato agli operatori)