Μελέτη-Ανάπτυξη AkNN αλγορίθμου σε περιβάλλον Spark
Στις μέρες μας, η επιστήμη των υπολογιστών καλείται να λύσει ένα σημαντικό πρόβλημα που έκανε την εμφάνισή του τα τελευταία χρόνια. Όπως είναι φυσικό με την εξέλιξη της τεχνολογίας ο αριθμός των συσκευών που χρησιμοποιούν τον παγκόσμιο ιστό γίνεται ολοένα και μεγαλύτερος, καθώς το κόστος μειώνετα...
Κύριος συγγραφέας: | |
---|---|
Άλλοι συγγραφείς: | |
Μορφή: | Thesis |
Γλώσσα: | Greek |
Έκδοση: |
2020
|
Θέματα: | |
Διαθέσιμο Online: | http://hdl.handle.net/10889/13167 |
id |
nemertes-10889-13167 |
---|---|
record_format |
dspace |
institution |
UPatras |
collection |
Nemertes |
language |
Greek |
topic |
Μεγάλα δεδομένα Ταξινόμηση Big data Classification AkNN Cloud |
spellingShingle |
Μεγάλα δεδομένα Ταξινόμηση Big data Classification AkNN Cloud Κάντας, Αριστείδης Μελέτη-Ανάπτυξη AkNN αλγορίθμου σε περιβάλλον Spark |
description |
Στις μέρες μας, η επιστήμη των υπολογιστών καλείται να λύσει ένα σημαντικό πρόβλημα που
έκανε την εμφάνισή του τα τελευταία χρόνια. Όπως είναι φυσικό με την εξέλιξη της
τεχνολογίας ο αριθμός των συσκευών που χρησιμοποιούν τον παγκόσμιο ιστό γίνεται ολοένα
και μεγαλύτερος, καθώς το κόστος μειώνεται και οι ανάγκες αυξάνονται. Φυσικό επακόλουθο
αυτής της κατάστασης είναι η δημιουργία πολύ μεγάλου όγκου δεδομένων. Χρειάστηκε λοιπόν
η ανάπτυξη νέας τεχνολογίας, έτσι ώστε ο μεγάλος αυτός όγκος δεδομένων να μπορεί να
διαχειριστεί, παράλληλα και κατανεμημένα με σκοπό να αναλυθεί και να χρησιμοποιηθεί για
την εξαγωγή πληροφοριών. Η ανάπτυξη του Cloud έπαιξε σημαντικό ρόλο στην
βελτιστοποίηση της κατάστασης καθώς επιτρέπει την χρήση μεγάλης υπολογιστικής ισχύς για
την επίτευξη αυτού του σκοπού.
Μεγάλη πρόοδο στην ανάπτυξη τέτοιου είδους τεχνολογίας έχει κάνει η Google με την
δημιουργία του MapReduce framework το οποίο είναι ένα προγραμματιστικό μοντέλο για την
επεξεργασία αλλά και δημιουργία μεγάλου όγκου δεδομένων. Το MapReduce αποτέλεσε την
βάση πάνω στην οποία αναπτύχθηκε ένα ακόμα μοντέλο, το Apache Spark με μεγαλύτερες
δυνατότητες, κυρίως όσον αφορά την διαχείριση batch δεδομένων αλλά και δεδομένων ροής.
Ο σκοπός της παρούσας διπλωματικής είναι η υλοποίηση του ΑkNN (All-k-Nearest-
Neighbors) αλγορίθμου στο προγραμματιστικό περιβάλλον Apache Spark με χρήση της
γλώσσας προγραμματισμού Scala. Ο ΑkNN αποτελεί αλγόριθμο κατηγοριοποίησης.
Συγκεκριμένα κατηγοριοποιεί ένα στοιχείο βάση των k κοντινότερων γειτόνων του. Ακριβώς
για αυτόν τον λόγο αποτελεί ισχυρό εργαλείο κυρίως για εφαρμογές που αφορούν γεωγραφικά
δεδομένα. Επιπλέον η χρήση του Apache Spark επιτρέπει την ομαλή και ασφαλή
παραλληλοποίηση του αλγορίθμου με σκοπό την βέλτιστη κατηγοριοποίηση μεγάλου όγκου
δεδομένων. Τέλος η χρήση της γλώσσας προγραμματισμού Scala, γίνεται καθώς είναι υψηλού
επιπέδου, συνδυάζει την αντικειμενοστρέφια και τον συναρτησιακό προγραμματισμό, καθώς
επίσης αποτελεί την γλώσσα στην οποία είναι γραμμένο το Apache Spark. |
author2 |
Σιούτας, Σπυρίδων |
author_facet |
Σιούτας, Σπυρίδων Κάντας, Αριστείδης |
format |
Thesis |
author |
Κάντας, Αριστείδης |
author_sort |
Κάντας, Αριστείδης |
title |
Μελέτη-Ανάπτυξη AkNN αλγορίθμου σε περιβάλλον Spark |
title_short |
Μελέτη-Ανάπτυξη AkNN αλγορίθμου σε περιβάλλον Spark |
title_full |
Μελέτη-Ανάπτυξη AkNN αλγορίθμου σε περιβάλλον Spark |
title_fullStr |
Μελέτη-Ανάπτυξη AkNN αλγορίθμου σε περιβάλλον Spark |
title_full_unstemmed |
Μελέτη-Ανάπτυξη AkNN αλγορίθμου σε περιβάλλον Spark |
title_sort |
μελέτη-ανάπτυξη aknn αλγορίθμου σε περιβάλλον spark |
publishDate |
2020 |
url |
http://hdl.handle.net/10889/13167 |
work_keys_str_mv |
AT kantasaristeidēs meletēanaptyxēaknnalgorithmouseperiballonspark AT kantasaristeidēs implementantionofaknnalgorithminsparkenviroment |
_version_ |
1771297171428081664 |
spelling |
nemertes-10889-131672022-09-05T06:57:18Z Μελέτη-Ανάπτυξη AkNN αλγορίθμου σε περιβάλλον Spark Implementantion of AkNN algorithm in Spark enviroment Κάντας, Αριστείδης Σιούτας, Σπυρίδων Σιούτας, Σπυρίδων Μακρής, Χρήστος Τσώλης, Δημήτριος Kantas, Aristidis Μεγάλα δεδομένα Ταξινόμηση Big data Classification AkNN Cloud Στις μέρες μας, η επιστήμη των υπολογιστών καλείται να λύσει ένα σημαντικό πρόβλημα που έκανε την εμφάνισή του τα τελευταία χρόνια. Όπως είναι φυσικό με την εξέλιξη της τεχνολογίας ο αριθμός των συσκευών που χρησιμοποιούν τον παγκόσμιο ιστό γίνεται ολοένα και μεγαλύτερος, καθώς το κόστος μειώνεται και οι ανάγκες αυξάνονται. Φυσικό επακόλουθο αυτής της κατάστασης είναι η δημιουργία πολύ μεγάλου όγκου δεδομένων. Χρειάστηκε λοιπόν η ανάπτυξη νέας τεχνολογίας, έτσι ώστε ο μεγάλος αυτός όγκος δεδομένων να μπορεί να διαχειριστεί, παράλληλα και κατανεμημένα με σκοπό να αναλυθεί και να χρησιμοποιηθεί για την εξαγωγή πληροφοριών. Η ανάπτυξη του Cloud έπαιξε σημαντικό ρόλο στην βελτιστοποίηση της κατάστασης καθώς επιτρέπει την χρήση μεγάλης υπολογιστικής ισχύς για την επίτευξη αυτού του σκοπού. Μεγάλη πρόοδο στην ανάπτυξη τέτοιου είδους τεχνολογίας έχει κάνει η Google με την δημιουργία του MapReduce framework το οποίο είναι ένα προγραμματιστικό μοντέλο για την επεξεργασία αλλά και δημιουργία μεγάλου όγκου δεδομένων. Το MapReduce αποτέλεσε την βάση πάνω στην οποία αναπτύχθηκε ένα ακόμα μοντέλο, το Apache Spark με μεγαλύτερες δυνατότητες, κυρίως όσον αφορά την διαχείριση batch δεδομένων αλλά και δεδομένων ροής. Ο σκοπός της παρούσας διπλωματικής είναι η υλοποίηση του ΑkNN (All-k-Nearest- Neighbors) αλγορίθμου στο προγραμματιστικό περιβάλλον Apache Spark με χρήση της γλώσσας προγραμματισμού Scala. Ο ΑkNN αποτελεί αλγόριθμο κατηγοριοποίησης. Συγκεκριμένα κατηγοριοποιεί ένα στοιχείο βάση των k κοντινότερων γειτόνων του. Ακριβώς για αυτόν τον λόγο αποτελεί ισχυρό εργαλείο κυρίως για εφαρμογές που αφορούν γεωγραφικά δεδομένα. Επιπλέον η χρήση του Apache Spark επιτρέπει την ομαλή και ασφαλή παραλληλοποίηση του αλγορίθμου με σκοπό την βέλτιστη κατηγοριοποίηση μεγάλου όγκου δεδομένων. Τέλος η χρήση της γλώσσας προγραμματισμού Scala, γίνεται καθώς είναι υψηλού επιπέδου, συνδυάζει την αντικειμενοστρέφια και τον συναρτησιακό προγραμματισμό, καθώς επίσης αποτελεί την γλώσσα στην οποία είναι γραμμένο το Apache Spark. Nowadays, computer science is called upon to solve a major problem that has emerged in recent years. As technology evolves, the number of devices that use the web is increasing as costs decrease and needs increase. The consequence of this situation is that a very large amount of data is generated. For this reason, there is the need to develop new technology in order to be able to manage effectively and distributed large amounts of data for the purpose of analyzing it and using it to extract information. The development of the Cloud has played an important role in optimizing the situation as it allows the use of high computing power to achieve this goal. Google has made great progress in developing such technology by creating the MapReduce framework, which is a programming model for processing and generating large amounts of data. MapReduce was the basis on which another model was developed, Apache Spark with greater capabilities, mainly in batch and stream data management. The purpose of this thesis is to implement the AkNN algorithm in the Apache Spark programming environment using the Scala programming language. AkNN is a categorization algorithm. In particular it categorizes a base element of its closest neighbors. For this reason it is a powerful tool mainly for geographical applications. In addition, the use of Apache Spark enables smooth and secure parallelism of the algorithm to better categorize large volumes of data. Last but not least, the Scala programming language is as high-level as possible, combining object-oriented and functional programming. It is also the language in which Apache Spark is written which is something that provides a lot of benefits. 2020-02-06T22:02:00Z 2020-02-06T22:02:00Z 2020-01-16 Thesis http://hdl.handle.net/10889/13167 gr 0 application/pdf application/octet-stream |