URI | http://purl.tuc.gr/dl/dias/980F4111-F7BA-470D-B865-D18A6A06E176 | - |
Αναγνωριστικό | https://doi.org/10.26233/heallink.tuc.87951 | - |
Γλώσσα | en | - |
Μέγεθος | 63 pages | el |
Μέγεθος | 1.8 megabytes | en |
Τίτλος | Migrating state between jobs in Apache Spark | en |
Τίτλος | Μετακίνηση κατάστασης μεταξύ εργασιών στο Apache Spark | el |
Δημιουργός | Kalogerakis Stefanos | en |
Δημιουργός | Καλογερακης Στεφανος | el |
Συντελεστής [Επιβλέπων Καθηγητής] | Deligiannakis Antonios | en |
Συντελεστής [Επιβλέπων Καθηγητής] | Δεληγιαννακης Αντωνιος | el |
Συντελεστής [Μέλος Εξεταστικής Επιτροπής] | Garofalakis Minos | en |
Συντελεστής [Μέλος Εξεταστικής Επιτροπής] | Γαροφαλακης Μινως | el |
Συντελεστής [Μέλος Εξεταστικής Επιτροπής] | Samoladas Vasilis | en |
Συντελεστής [Μέλος Εξεταστικής Επιτροπής] | Σαμολαδας Βασιλης | el |
Εκδότης | Πολυτεχνείο Κρήτης | el |
Εκδότης | Technical University of Crete | en |
Ακαδημαϊκή Μονάδα | Technical University of Crete::School of Electrical and Computer Engineering | en |
Ακαδημαϊκή Μονάδα | Πολυτεχνείο Κρήτης::Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών | el |
Περιγραφή | Διπλωματική εργασία που υποβλήθηκε στην σχολή ΗΜΜΥ του Πολυτεχνείου Κρήτης για την πλήρωση προϋποθέσεων λήψης προπτυχιακού διπλώματος | el |
Περίληψη | Nowadays, data is being generated at an unprecedented rate and impacts every aspect of our everyday life. As this amount increases, more and more organizations try to incorporate techniques to handle that data in real-time and evolve their business strategy. One critical challenge is ensuring fault-tolerance and high availability in our data. On different occasions, the heterogeneous systems responsible for data processing must disrupt their operation and update their infrastructure. In some other cases, system failures can occur. Therefore, migration techniques that prevent data loss are getting increasingly important.
In this thesis, we propose a state migration algorithm implemented on Apache Spark’s Structured Streaming API. This powerful API offers a fast, scalable solution for processing complex workloads and ensures fault tolerance through its checkpointing mechanism. The algorithm handles state among different jobs and covers various scenarios where users might wish to split, merge, or remotely deploy workflows in each job with no data loss. In that way, users have complete control over workflow operators and can impact their execution at will. Additionally, to prove that our implementation works, we used Rapidminer Studio workflow designer to present complete and detailed test-cases for the cases mentioned above. | en |
Περίληψη | Στις μέρες μας, νέα δεδομένα παράγονται συνεχώς σε ένα πρωτοφανή ρυθμό επηρεάζοντας όλες τις πτυχές της καθημερινότητάς μας. Καθώς ο όγκος τους συνεχίζει να αυξάνεται, όλο και περισσότεροι οργανισμοί προσπαθούν να ενσωματώσουν τεχνικές για την διαχείριση και επεξεργασία των δεδομένων αυτών σε πραγματικό χρόνο προκειμένου να εξελίξουν τις στρατηγικές της επιχείρησης τους. Μια σημαντική πρόκληση, είναι η εξασφάλιση ότι τα δεδομένα διαθέτουν ανοχή σε σφάλματα και υψηλή διαθεσιμότητα. Σε διαφορετικές περιπτώσεις, τα ετερογενή συστήματα που είναι υπεύθυνα για την επεξεργασία των δεδομένων πρέπει να διακόψουν την λειτουργία τους για αναβαθμίσουν τις υλικοτεχνικές υποδομές τους. Σε άλλες περιπτώσεις, μπορεί να συναντηθούν σφάλματα συστήματος. Για αυτόν τον λόγο τεχνικές migration για την αποτροπή απώλειας και μεταφοράς δεδομένων γίνονται όλο και πιο σημαντικές.
Στα πλαίσια της συγκεκριμένης διπλωματικής εργασίας, παρουσιάζεται ένας αλγόριθμος μεταφοράς κατάστασης υλοποιημένος στο Structured Streaming API του Apache Spark. Αυτό το ισχυρό API προσφέρει μια γρήγορη και επεκτάσιμη λύση για την επεξεργασία περίπλοκων workflows και εξασφαλίζει ανοχή σε σφάλματα μέσω του μηχανισμού checkpoint που διαθέτει. Ο αλγόριθμος διαχειρίζεται την κατάσταση μεταξύ διαφορετικών jobs, και καλύπτει πληθώρα σεναρίων, όπου οι χρήστες δύνανται να διαχωρίσουν, να ενώσουν ή να εκτελέσουν απομακρυσμένα workflows σε κάθε job δίχως απώλεια δεδομένων. Με αυτόν τον τρόπο, υπάρχει πλήρης έλεγχος των operators του κάθε workflow και η εκτέλεση μπορεί να επηρεαστεί με τρόπο που επιθυμεί ο εκάστοτε χρήστης. Προκειμένου να αποδείξουμε ότι η υλοποίηση λειτουργεί, χρησιμοποιήσαμε το Rapidminer Studio για τον σχεδιασμό των workflows, όπου παρουσιάζονται πλήρη και λεπτομερή test-cases για τις όλες περιπτώσεις που αναφέρθηκαν προηγουμένως. | el |
Τύπος | Διπλωματική Εργασία | el |
Τύπος | Diploma Work | en |
Άδεια Χρήσης | http://creativecommons.org/licenses/by/4.0/ | en |
Ημερομηνία | 2020-12-30 | - |
Ημερομηνία Δημοσίευσης | 2020 | - |
Θεματική Κατηγορία | Migrating state algorithm | en |
Θεματική Κατηγορία | Apache Spark | en |
Βιβλιογραφική Αναφορά | Stefanos Kalogerakis, "Migrating state between jobs in Apache Spark", Diploma Work, School of Electrical and Computer Engineering, Technical University of Crete, Chania, Greece, 2020 | en |
Βιβλιογραφική Αναφορά | Στέφανος Καλογεράκης, "Μετακίνηση κατάστασης μεταξύ εργασιών στο Apache Spark", Διπλωματική Εργασία, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο Κρήτης, Χανιά, Ελλάς, 2020 | el |