<efrbr:recordSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:efrbr="http://vfrbr.info/efrbr/1.1" xmlns:efrbr-work="http://vfrbr.info/efrbr/1.1/work" xmlns:efrbr-expression="http://vfrbr.info/efrbr/1.1/expression" xmlns:efrbr-manifestation="http://vfrbr.info/efrbr/1.1/manifestation" xmlns:efrbr-person="http://vfrbr.info/efrbr/1.1/person" xmlns:efrbr-corporateBody="http://vfrbr.info/efrbr/1.1/corporateBody" xmlns:efrbr-concept="http://vfrbr.info/efrbr/1.1/concept" xmlns:efrbr-structure="http://vfrbr.info/efrbr/1.1/structure" xmlns:efrbr-responsible="http://vfrbr.info/efrbr/1.1/responsible" xmlns:efrbr-subject="http://vfrbr.info/efrbr/1.1/subject" xmlns:efrbr-other="http://vfrbr.info/efrbr/1.1/other" xsi:schemaLocation="http://vfrbr.info/efrbr/1.1 http://vfrbr.info/schemas/1.1/efrbr.xsd"><efrbr:entities><efrbr-work:work identifier="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359"><efrbr-work:titleOfTheWork>Migration state among jobs in Apache Flink</efrbr-work:titleOfTheWork></efrbr-work:work><efrbr-expression:expression identifier="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359"><efrbr-expression:titleOfTheExpression>Migration state among jobs in Apache Flink</efrbr-expression:titleOfTheExpression><efrbr-expression:titleOfTheExpression>Μεταφορά κατάστασης μεταξύ εργασιών στο Apache Flink</efrbr-expression:titleOfTheExpression><efrbr-expression:formOfExpression vocabulary="DIAS:TYPES">
            Διπλωματική Εργασία
            Diploma Work
         </efrbr-expression:formOfExpression><efrbr-expression:dateOfExpression type="issued">2020-12-11</efrbr-expression:dateOfExpression><efrbr-expression:dateOfExpression type="published">2020</efrbr-expression:dateOfExpression><efrbr-expression:languageOfExpression vocabulary="iso639-1">en</efrbr-expression:languageOfExpression><efrbr-expression:summarizationOfContent>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.</efrbr-expression:summarizationOfContent><efrbr-expression:summarizationOfContent>Καθημερινά, τόσο και περισσότερα δεδομένα παράγονται κάνοντας την επεξεργασία αυτών μείζονος σημασίας ουτοσώστε να εξάγουμε την χρήσιμη πληροφορία. Ειδικότερα η επεξεργασία ροών δεδομένων είναι ζωτικής σημασίας και απαιτεί υψηλών επιδόσεων υπολογιστικούς πόρους ώστε να μπορέσουμε να κάνουμε επερωτήσεις σε πραγματικό χρόνο σε αυτά. Για αυτόν τον λόγο, έχουν δημιουργηθεί 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 αποδεικνύοντας έτσι την ορθότητα του αλγορίθμου μας.</efrbr-expression:summarizationOfContent><efrbr-expression:contextForTheExpression>Διπλωματική Εργασία</efrbr-expression:contextForTheExpression><efrbr-expression:useRestrictionsOnTheExpression type="creative-commons">http://creativecommons.org/licenses/by/4.0/</efrbr-expression:useRestrictionsOnTheExpression><efrbr-expression:note type="academic unit">Πολυτεχνείο Κρήτης::Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών</efrbr-expression:note></efrbr-expression:expression><efrbr-manifestation:manifestation identifier="https://dias.library.tuc.gr/view/87680"><efrbr-manifestation:titleOfTheManifestation>Baikousis_Ioannis_Dip_2020.pdf</efrbr-manifestation:titleOfTheManifestation><efrbr-manifestation:publicationDistribution><efrbr-manifestation:placeOfPublicationDistribution type="distribution">Chania [Greece]</efrbr-manifestation:placeOfPublicationDistribution><efrbr-manifestation:publisherDistributor type="distributor">Library of TUC</efrbr-manifestation:publisherDistributor><efrbr-manifestation:dateOfPublicationDistribution>2020-12-11</efrbr-manifestation:dateOfPublicationDistribution></efrbr-manifestation:publicationDistribution><efrbr-manifestation:formOfCarrier>application/pdf</efrbr-manifestation:formOfCarrier><efrbr-manifestation:extentOfTheCarrier>1 MB</efrbr-manifestation:extentOfTheCarrier><efrbr-manifestation:accessRestrictionsOnTheManifestation>free</efrbr-manifestation:accessRestrictionsOnTheManifestation></efrbr-manifestation:manifestation><efrbr-person:person identifier="http://users.isc.tuc.gr/~ibaikousis"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Baikousis Ioannis
            Μπαικουσης Ιωαννης
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="http://users.isc.tuc.gr/~adeligiannakis"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Deligiannakis Antonios
            Δεληγιαννακης Αντωνιος
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="http://users.isc.tuc.gr/~mgarofalakis"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Garofalakis Minos
            Γαροφαλακης Μινως
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="http://users.isc.tuc.gr/~vsamoladas"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Samoladas Vasilis
            Σαμολαδας Βασιλης
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-corporateBody:corporateBody identifier="AB74DDC5-F7E3-477A-AC8A-A8FDD233E0CE"><efrbr-corporateBody:nameOfTheCorporateBody vocabulary="">
            Πολυτεχνείο Κρήτης
            Technical University of Crete
         </efrbr-corporateBody:nameOfTheCorporateBody></efrbr-corporateBody:corporateBody><efrbr-concept:concept identifier="B028980B-6497-4D0A-BA94-4D3B041FC3E1"><efrbr-concept:termForTheConcept>
            Big data
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="9BEC6E23-DF04-483A-B373-4AC4BF1E8550"><efrbr-concept:termForTheConcept>
            Migration state
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="32072FCB-F76A-466B-8A74-E9E3D7567044"><efrbr-concept:termForTheConcept>
            Migration
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="F7BBEC9B-EA3F-4B9B-B1F5-E3A60635F309"><efrbr-concept:termForTheConcept>
            Apache Flink
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="789AA0D3-878A-48FF-8925-D630814B158F"><efrbr-concept:termForTheConcept>
            Flink
         </efrbr-concept:termForTheConcept></efrbr-concept:concept></efrbr:entities><efrbr:relationships><efrbr-structure:structureRelations><efrbr-structure:realizedThrough sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359" targetEntity="expression" targetURI="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359"/><efrbr-structure:embodiedIn sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359" targetEntity="manifestation" targetURI="http://purl.tuc.gr/dl/dias/B5D49C25-2F74-4DB8-AF05-FCD0125E2D59"/></efrbr-structure:structureRelations><efrbr-responsible:responsibleRelations><efrbr-responsible:createdBy sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359" targetEntity="person" targetURI="http://users.isc.tuc.gr/~ibaikousis"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359" targetEntity="person" targetURI="http://users.isc.tuc.gr/~ibaikousis" role="author"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359" targetEntity="person" targetURI="http://users.isc.tuc.gr/~adeligiannakis" role="http://purl.tuc.gr/dl/dias/vocabs/contributor-roles/1"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359" targetEntity="person" targetURI="http://users.isc.tuc.gr/~mgarofalakis" role="http://purl.tuc.gr/dl/dias/vocabs/contributor-roles/2"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359" targetEntity="person" targetURI="http://users.isc.tuc.gr/~vsamoladas" role="http://purl.tuc.gr/dl/dias/vocabs/contributor-roles/2"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359" targetEntity="person" targetURI="AB74DDC5-F7E3-477A-AC8A-A8FDD233E0CE" role="publisher"/></efrbr-responsible:responsibleRelations><efrbr-subject:subjectRelations><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359" targetEntity="concept" targetURI="B028980B-6497-4D0A-BA94-4D3B041FC3E1"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359" targetEntity="concept" targetURI="9BEC6E23-DF04-483A-B373-4AC4BF1E8550"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359" targetEntity="concept" targetURI="32072FCB-F76A-466B-8A74-E9E3D7567044"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359" targetEntity="concept" targetURI="F7BBEC9B-EA3F-4B9B-B1F5-E3A60635F309"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/3FE9BF78-267D-4112-97BA-1E5731348359" targetEntity="concept" targetURI="789AA0D3-878A-48FF-8925-D630814B158F"/></efrbr-subject:subjectRelations><efrbr-other:otherRelations/></efrbr:relationships></efrbr:recordSet>