Τι είναι το MapReduce στο Hadoop; Μεγάλα δεδομένα Archiδομή
Τι είναι το MapReduce στο Hadoop;
ΜΕΙΩΣΗ ΧΑΡΤΗ είναι ένα πλαίσιο λογισμικού και ένα μοντέλο προγραμματισμού που χρησιμοποιείται για την επεξεργασία τεράστιων ποσοτήτων δεδομένων. ΜΕΙΩΣΗ ΧΑΡΤΗ εργασία του προγράμματος σε δύο φάσεις, δηλαδή, Χάρτης και Μείωση. Οι εργασίες χαρτών ασχολούνται με το διαχωρισμό και τη χαρτογράφηση δεδομένων, ενώ το Reduce tasks ανακατεύει και μειώνει τα δεδομένα.
Το Hadoop είναι σε θέση να εκτελεί προγράμματα MapReduce γραμμένα σε διάφορες γλώσσες: JavaΡουμπίνι, Python, να C++. Τα προγράμματα του Map Reduce στο cloud computing είναι παράλληλης φύσης, επομένως είναι πολύ χρήσιμα για την εκτέλεση ανάλυσης δεδομένων μεγάλης κλίμακας χρησιμοποιώντας πολλαπλές μηχανές στο σύμπλεγμα.
Η είσοδος σε κάθε φάση είναι κλειδί-τιμή ζεύγη. Επιπλέον, κάθε προγραμματιστής πρέπει να καθορίσει δύο λειτουργίες: συνάρτηση χάρτη και μείωση της λειτουργίας.
ΜΕΙΩΣΗ ΧΑΡΤΗ Architecture σε Big Data εξηγείται με Παράδειγμα
Η όλη διαδικασία περνά από τέσσερις φάσεις εκτέλεσης, δηλαδή, διαχωρισμό, χαρτογράφηση, ανακάτεμα και μείωση.
Τώρα σε αυτό το σεμινάριο MapReduce, ας καταλάβουμε με ένα παράδειγμα MapReduce–
Σκεφτείτε ότι έχετε τα ακόλουθα δεδομένα εισόδου για το MapReduce σας Πρόγραμμα μεγάλων δεδομένων
Welcome to Hadoop Class Hadoop is good Hadoop is bad
Το τελικό αποτέλεσμα της εργασίας MapReduce είναι
κακός | 1 |
Τάξη | 1 |
καλός | 1 |
Hadoop | 3 |
is | 2 |
προς την | 1 |
Καλωσήρθατε | 1 |
Τα δεδομένα περνούν από τις ακόλουθες φάσεις του MapReduce σε Big Data
Διαχωρισμοί εισόδου:
Μια είσοδος σε μια εργασία MapReduce in Big Data χωρίζεται σε κομμάτια σταθερού μεγέθους που ονομάζονται διαχωρισμοί εισόδου Ο διαχωρισμός εισόδου είναι ένα κομμάτι της εισόδου που καταναλώνεται από έναν μόνο χάρτη
ΧΑΡΤΗΣ
Αυτή είναι η πρώτη φάση στην εκτέλεση του προγράμματος μείωσης χάρτη. Σε αυτή τη φάση τα δεδομένα σε κάθε διαχωρισμό μεταβιβάζονται σε μια συνάρτηση αντιστοίχισης για την παραγωγή τιμών εξόδου. Στο παράδειγμά μας, μια εργασία της φάσης χαρτογράφησης είναι να μετρήσει έναν αριθμό εμφανίσεων κάθε λέξης από διαχωρισμούς εισόδου (περισσότερες λεπτομέρειες σχετικά με την εισαγωγή-διαίρεση δίνονται παρακάτω) και να προετοιμάσει μια λίστα με τη μορφή
Ανακάτεμα
Αυτή η φάση καταναλώνει την έξοδο της φάσης χαρτογράφησης. Το καθήκον του είναι να ενοποιήσει τις σχετικές εγγραφές από την έξοδο της φάσης αντιστοίχισης. Στο παράδειγμά μας, οι ίδιες λέξεις συγκεντρώνονται μαζί με την αντίστοιχη συχνότητά τους.
Αναγωγικός
Σε αυτή τη φάση, οι τιμές εξόδου από τη φάση Shuffling συγκεντρώνονται. Αυτή η φάση συνδυάζει τιμές από τη φάση Shuffling και επιστρέφει μια μοναδική τιμή εξόδου. Εν ολίγοις, αυτή η φάση συνοψίζει το πλήρες σύνολο δεδομένων.
Στο παράδειγμά μας, αυτή η φάση συγκεντρώνει τις τιμές από τη φάση τυχαίας αναπαραγωγής, δηλαδή, υπολογίζει τις συνολικές εμφανίσεις κάθε λέξης.
ΜΕΙΩΣΗ ΧΑΡΤΗ Archiδομή εξηγείται λεπτομερώς
- Δημιουργείται μία εργασία χάρτη για κάθε διαχωρισμό, η οποία στη συνέχεια εκτελεί τη λειτουργία χάρτη για κάθε εγγραφή στο διαχωρισμό.
- Είναι πάντα ωφέλιμο να υπάρχουν πολλαπλοί διαχωρισμοί επειδή ο χρόνος που απαιτείται για την επεξεργασία ενός διαχωρισμού είναι μικρός σε σύγκριση με τον χρόνο που απαιτείται για την επεξεργασία ολόκληρης της εισόδου. Όταν τα χωρίσματα είναι μικρότερα, η επεξεργασία είναι καλύτερα να φορτώνεται ισορροπημένη αφού επεξεργαζόμαστε τα χωρίσματα παράλληλα.
- Ωστόσο, δεν είναι επίσης επιθυμητό να υπάρχουν σχίσματα πολύ μικρά σε μέγεθος. Όταν οι διαχωρισμοί είναι πολύ μικροί, ο υπερβολικός φόρτος διαχείρισης των διαχωρισμών και η δημιουργία εργασιών χάρτη αρχίζει να κυριαρχεί στον συνολικό χρόνο εκτέλεσης της εργασίας.
- Για τις περισσότερες εργασίες, είναι καλύτερο να κάνετε διαχωρισμό μεγέθους ίσο με το μέγεθος ενός μπλοκ HDFS (το οποίο είναι 64 MB, από προεπιλογή).
- Η εκτέλεση των εργασιών χάρτη έχει ως αποτέλεσμα την εγγραφή εξόδου σε έναν τοπικό δίσκο στον αντίστοιχο κόμβο και όχι σε HDFS.
- Ο λόγος για την επιλογή τοπικού δίσκου έναντι HDFS είναι η αποφυγή αναπαραγωγής που λαμβάνει χώρα σε περίπτωση λειτουργίας αποθήκευσης HDFS.
- Η έξοδος χάρτη είναι η ενδιάμεση έξοδος η οποία υποβάλλεται σε επεξεργασία με εργασίες μείωσης για να παραχθεί το τελικό αποτέλεσμα.
- Μόλις ολοκληρωθεί η εργασία, η έξοδος του χάρτη μπορεί να πεταχτεί. Έτσι, η αποθήκευσή του σε HDFS με αναπαραγωγή γίνεται υπερβολική.
- Σε περίπτωση αποτυχίας του κόμβου, προτού η έξοδος του χάρτη καταναλωθεί από την εργασία μείωσης, το Hadoop εκτελεί ξανά την εργασία χάρτη σε έναν άλλο κόμβο και δημιουργεί ξανά την έξοδο χάρτη.
- Το Reduce task δεν λειτουργεί στην έννοια της τοπικότητας δεδομένων. Μια έξοδος κάθε εργασίας χάρτη τροφοδοτείται στην εργασία μείωσης. Η έξοδος χάρτη μεταφέρεται στο μηχάνημα όπου εκτελείται η εργασία μείωσης.
- Σε αυτό το μηχάνημα, η έξοδος συγχωνεύεται και στη συνέχεια μεταβιβάζεται στη λειτουργία μείωσης που ορίζει ο χρήστης.
- Σε αντίθεση με την έξοδο χάρτη, η μείωση εξόδου αποθηκεύεται σε ΚΑΕ (το πρώτο αντίγραφο αποθηκεύεται στον τοπικό κόμβο και άλλα αντίγραφα αποθηκεύονται σε κόμβους εκτός rack). Έτσι, γράφοντας τη μείωση της παραγωγής
Πώς λειτουργεί το MapReduce Organizes;
Τώρα σε αυτό το σεμινάριο MapReduce, θα μάθουμε πώς λειτουργεί το MapReduce
Hadoop χωρίζει την εργασία σε καθήκοντα. Υπάρχουν δύο τύποι εργασιών:
- Εργασίες χάρτη (Διαχωρίσεις και χαρτογράφηση)
- Μειώστε τις εργασίες (Ανακάτεμα, Μείωση)
όπως αναφέρθηκε προηγουμένως.
Η πλήρης διαδικασία εκτέλεσης (εκτέλεση εργασιών Map και Reduce, και οι δύο) ελέγχεται από δύο τύπους οντοτήτων που ονομάζονται
- Jobtracker: Ενεργεί σαν α κύριος (υπεύθυνος για την πλήρη εκτέλεση της υποβληθείσας εργασίας)
- Multiple Task Trackers: Ενεργεί σαν σκλάβοι, καθένας από αυτούς που εκτελεί τη δουλειά
Για κάθε εργασία που υποβάλλεται για εκτέλεση στο σύστημα, υπάρχει μία Jobtracker που εδρεύει σε Namenode και υπάρχουν πολλαπλούς ιχνηλάτες εργασιών που κατοικούν σε Datanode.
- Μια εργασία χωρίζεται σε πολλαπλές εργασίες οι οποίες στη συνέχεια εκτελούνται σε πολλούς κόμβους δεδομένων σε ένα σύμπλεγμα.
- Είναι ευθύνη του προγράμματος παρακολούθησης εργασιών να συντονίζει τη δραστηριότητα προγραμματίζοντας εργασίες που θα εκτελούνται σε διαφορετικούς κόμβους δεδομένων.
- Στη συνέχεια, η εκτέλεση της μεμονωμένης εργασίας πρέπει να φροντίζει τον ιχνηλάτη εργασιών, ο οποίος βρίσκεται σε κάθε κόμβο δεδομένων που εκτελεί μέρος της εργασίας.
- Η ευθύνη του Task Tracker είναι να στείλει την αναφορά προόδου στον εντοπισμό εργασιών.
- Επιπλέον, το task tracker στέλνει περιοδικά 'ΧΤΥΠΟΣ καρδιας' σήμα στον Jobtracker ώστε να τον ειδοποιήσει για την τρέχουσα κατάσταση του συστήματος.
- Έτσι, το job tracker παρακολουθεί τη συνολική πρόοδο κάθε εργασίας. Σε περίπτωση αποτυχίας της εργασίας, η παρακολούθηση εργασιών μπορεί να την επαναπρογραμματίσει σε διαφορετικό πρόγραμμα παρακολούθησης εργασιών.