Progetto di Scalable and Cloud Programming - Università di Bologna A.A. 2018/2019
Lo scopo di tale lavoro è quello di realizzare un programma che, preso in input un dataset contenente dati relativi a commenti di prodotti su Amazon, determina un rank degli utenti modificando opportunamente la loro Helpfulness. Il criterio utilizzato per la modifica della Helpfulness è il seguente: un utente vede aumentare la propria Helpfulness se ha dato un voto, ad un prodotto, uguale a quello di un altro utente con Helpfulness maggiore. Sono stati realizzati due moduli: uno che segue l'approccio del PageRank nativo (General) e l'altro realizzato ad hoc (Product) per l'obiettivo di questo progetto.
Per eseguire il progetto in local mode su Spark bisogna prima creare il relativo jar
sbt assembly
e successivamente
spark-submit --class Main /path-jar/HelpfulnessRank-assembly-0.1.jar PARA_LIST
- tipo computazione - Product | General
- demoOn - True | False
- path input file
- path output dir
- Lambda (testato con valore 20)
- Numero di Iterazioni (testato con valore 10)
- Numero di partizioni
- Timeout (ms) tra due iterazioni successive (se demoOn = True)
spark-submit --class Main ./target/scala-2.12/HelpfulnessRank-assembly-0.1.jar \
Product True dataInput/demo.csv result 20 10 7 3000
La demo è stata sviluppata nell'ambiente NodeJS (server-side) e D3.js per la view del grafo. Attraverso la WEB-UI è possibile lanciare gli script per la creazione del bucket ed il caricamento dei file, la creazione del cluster e l'avvio del job in base alla due modalità Product e General. All'interno degli script sono inserite le varibili d'accesso per la configurazione di Google Cloud Platform Per il run dell'applicazione posizionarsi all'interno del directory DEMO e lanciare il comando
node start
e successivamente aprire un broswer web all'url http://localhost:3000
© 2019 Antonio Conteduca, Matteo Caputo, Pierluigi Lazazzera. Alma Mater Studiorum Università di Bologna