Συντάχθηκε 08-12-2020 08:53
Τόπος: Η παρουσίαση θα γίνει με τηλεδιάσκεψη
Σύνδεσμος τηλεδιάσκεψης
Έναρξη: 09/12/2020 10:00
Λήξη: 09/12/2020 11:00
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ
Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πρόγραμμα Προπτυχιακών Σπουδών
ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ
ΜΠΑΪΚΟΥΣΗΣ ΙΩΑΝΝΗΣ
θέμα
Μεταφορά Κατάστασης μεταξύ Εργασιών στο Apache Flink
Migration State among Jobs in Apache Flink
Εξεταστική Επιτροπή
Αναπληρωτής Καθηγητής Δεληγιαννάκης Αντώνιος (επιβλέπων)
Καθηγητής Γαροφαλάκης Μίνως
Αναπληρωτής Καθηγητής Σαμολαδάς Βασίλειος
Περίληψη
Καθημερινά, τόσο και περισσότερα δεδομένα παράγονται κάνοντας την επεξεργασία αυτών μείζονος σημασίας ουτοσώστε να εξάγουμε την χρήσιμη πληροφορία. Ειδικότερα η επεξεργασία ροών δεδομένων είναι ζωτικής σημασίας και απαιτεί υψηλών επιδόσεων υπολογιστικούς πόρους ώστε να μπορέσουμε να κάνουμε επερωτήσεις σε πραγματικό χρόνο σε αυτά. Για αυτόν τον λόγο, έχουν δημιουργηθεί big data frameworks τα οποία έχουν την δυνατότητα να επεξεργαστούν και να χειριστούν αποδοτικά σύνθετα επερωτήματα πάνω σε ροές δεδομένων. Όσο ο όγκος των δεδομένων μεγαλώνει τα frameworks πρέπει να προσαρμόζονται στις απαιτήσεις που χρειάζονται για την επεξεργασία τους, συνεπώς είναι σημαντικό να δέχονται τακτικά αναβαθμίσεις σε υλικό και λογισμικό. Για τον λόγο αυτό έχουν αναπτυχθεί μηχανισμοί που δίνουν την δυνατότητα να μπορούν να αναβαθμιστούν χωρίς καμία απώλεια δεδομένων.
Σε αυτήν την διπλωματική εργασία παρουσιάζεται ένας αλγόριθμος μεταφοράς του state χρησιμοποιώντας το Apache Flink framework, ο οποίος μας δίνει την δυνατότητα να επεξεργαστούμε operator states ανάμεσα σε διαφορετικά Flink jobs και να μεταφέρουμε το state σε άλλα clusters χωρίς καμία απώλεια δεδομένων. Ακόμα μας δίνει την δυνατότητα να ενώσουμε, να διαχωρίσουμε ή να κάνουμε rescale τα jobs ώστε να προσαρμοστούν στις επεξεργαστικές απαιτήσεις. Ο αλγόριθμος βασίζεται στο State Processor API που παρέχεται από το Flink και είναι υλοποιημένος στο RapidMiner Studio το οποίο μας δίνει την δυνατότητα να σχεδιάσουμε εύκολα και γρήγορα workflows.
Για να επικυρώσουμε την ορθότητα της υλοποίησης μας, έχουμε σχεδιάσει μερικά workflows στο RapidMiner Studio τα οποία περιέχουν απλούς τελεστές και παρουσιάζουμε μια αναλυτική περιγραφή της εκτέλεσης σε cluster-mode παίρνοντας περιπτώσεις όπως η ένωση και ο διαχωρισμός τους χωρίς να χάνονται δεδομένα καθώς και η μεταφορά του state αποδεικνύοντας έτσι την ορθότητα του αλγορίθμου μας.
Abstract
On a daily basis more and more data is produced and needs to be processed to extract useful information. Specifically, processing data streams is vital and requires high-performance resources to query them in real time. Big Data processing frameworks have been developed to handle efficient complex queries on data streams. As the amount of data expands, the frameworks have to adapt to processing requirements, thus it is essential to support updates and upgrades both in hardware and software infrastructures over time. Therefore, migration mechanisms have been developed in order to give the ability to frameworks to evolve, guaranteeing no data losses.
In this diploma thesis we provide a migration algorithm in Apache Flink which gives you the opportunity to manage many operator states among different Flink jobs and submit them into another cluster with no data losses. Additionally,it enables us to merge, split or rescale jobs in order to adapt to processing requirements. Our algorithm is based on the State Processor API which is provided by Flink and it is implemented on RapidMiner Studio which gives us the ability to design workflow easily and quickly.
To validate our approach, we designed some workflows using simple operators on RapidMiner studio and present a complete detailed cluster-mode execution with many test-cases as merging and splitting the workflows and migrating the state without data losses proving the correctness of our migration algorithm.
Meeting ID: 842 0332 4168
Password: 221573