Πίνακας περιεχομένων:
Ορισμός - Τι σημαίνει MapReduce;
Το MapReduce είναι ένα μοντέλο προγραμματισμού που εισήγαγε η Google για επεξεργασία και δημιουργία μεγάλων συνόλων δεδομένων σε συστοιχίες υπολογιστών.
Η Google διαμόρφωσε πρώτα το πλαίσιο για την εξυπηρέτηση της ευρετηρίασης ιστοσελίδων της Google και το νέο πλαίσιο αντικατέστησε παλαιότερους αλγόριθμους ευρετηρίασης. Οι αρχάριοι προγραμματιστές βρίσκουν το πλαίσιο MapReduce ωφέλιμο, επειδή οι ρουτίνες της βιβλιοθήκης μπορούν να χρησιμοποιηθούν για τη δημιουργία παράλληλων προγραμμάτων χωρίς ανησυχίες σχετικά με την επικοινωνία μέσω υπερύθρων, την παρακολούθηση εργασιών ή τις διεργασίες αντιμετώπισης προβλημάτων.
Το MapReduce λειτουργεί σε ένα μεγάλο σύνολο μηχανών βασικών προϊόντων και είναι εξαιρετικά επεκτάσιμο. Διαθέτει διάφορες μορφές υλοποίησης που παρέχονται από πολλές γλώσσες προγραμματισμού, όπως Java, C # και C ++.
Η Techopedia εξηγεί το MapReduce
Το πλαίσιο MapReduce έχει δύο μέρη:
- Μια λειτουργία που ονομάζεται "Χάρτης", η οποία επιτρέπει σε διαφορετικά σημεία του κατανεμημένου συμπλέγματος να διανέμουν τη δουλειά τους
- Μια λειτουργία που ονομάζεται "Μείωση", η οποία έχει σχεδιαστεί για να μειώνει την τελική μορφή των αποτελεσμάτων των συμπλεγμάτων σε μία έξοδο
Το κύριο πλεονέκτημα του πλαισίου MapReduce είναι η αντοχή σφάλματος, όπου αναμένεται η υποβολή περιοδικών αναφορών από κάθε κόμβο του συμπλέγματος όταν ολοκληρωθεί η εργασία.
Μια εργασία μεταφέρεται από έναν κόμβο σε άλλο. Εάν ο κύριος κόμβος παρατηρήσει ότι ένας κόμβος έχει σιωφθεί για μεγαλύτερο χρονικό διάστημα από το αναμενόμενο, ο κύριος κόμβος εκτελεί τη διαδικασία επανατοποθέτησης στην εργασία παγωμένου / καθυστερημένου.
Το πλαίσιο MapReduce εμπνέεται από τις λειτουργίες "Χάρτης" και "Μείωση" που χρησιμοποιούνται στον λειτουργικό προγραμματισμό. Η υπολογιστική επεξεργασία λαμβάνει χώρα σε δεδομένα που είναι αποθηκευμένα σε ένα σύστημα αρχείων ή σε μια βάση δεδομένων, η οποία λαμβάνει ένα σύνολο τιμών τιμών εισόδου και παράγει ένα σύνολο τιμών κλειδιών εξόδου.
Κάθε μέρα, εκτελούνται πολυάριθμα προγράμματα MapReduce και εργασίες MapReduce στα clusters της Google. Τα προγράμματα παραλληλίζονται αυτόματα και εκτελούνται σε ένα μεγάλο σύνολο μηχανών βασικών προϊόντων. Το σύστημα χρόνου εκτέλεσης ασχολείται με την κατανομή των δεδομένων εισόδου, τον προγραμματισμό της εκτέλεσης του προγράμματος σε ένα σύνολο μηχανών, τον χειρισμό της βλάβης του μηχανήματος και τη διαχείριση της απαιτούμενης ενδοσυνδετικής επικοινωνίας. Οι προγραμματιστές χωρίς εμπειρία σε παράλληλα και κατανεμημένα συστήματα μπορούν εύκολα να χρησιμοποιήσουν τους πόρους ενός μεγάλου κατανεμημένου συστήματος.
Το MapReduce χρησιμοποιείται σε κατανεμημένο γράφο, κατανεμημένο ταξινόμηση, αναστροφή γραφήματος συνδέσμου ιστού, στατιστικά στοιχεία σύνδεσης πρόσβασης στο Web, ομαδοποίηση εγγράφων, μηχανική μάθηση και στατιστική μηχανική μετάφραση.