Το MapReduce είναι μια βασική έννοια προγραμματισμού που πρέπει να κατακτήσετε για να γίνετε επαγγελματίας μηχανικός δεδομένων. Παρέχει λύσεις σε κατανεμημένα συστήματα διαχείρισης αρχείων μεγάλων δεδομένων. Ως εκ τούτου, η κατανόηση του θεωρητικού υποβάθρου του MapReduce θα κάνει την εκμάθηση της ίδιας της τεχνικής εύκολη για εσάς.
Τι είναι όμως το MapReduce και πώς λειτουργεί σε κατανεμημένα συστήματα αρχείων; Θα το μάθετε σε αυτή την ανάρτηση.
Τι είναι το MapReduce;
Το MapReduce είναι ένα μοντέλο μηχανικής δεδομένων που εφαρμόζεται σε προγράμματα ή εφαρμογές που επεξεργάζονται τη λογική μεγάλων δεδομένων εντός παράλληλων συστάδων διακομιστών ή κόμβων. Διανέμει μια λογική επεξεργασίας σε πολλούς κόμβους δεδομένων και συγκεντρώνει τα αποτελέσματα στον πελάτη-διακομιστή.
Το MapReduce διασφαλίζει ότι η επεξεργασία είναι γρήγορη, αποδοτική στη μνήμη και αξιόπιστη, ανεξάρτητα από το μέγεθος των δεδομένων.
Το σύστημα αρχείων Hadoop (HDFS), το Google File System (GFS), το Apache Kafka, το GlusterFS και άλλα είναι παραδείγματα κατανεμημένων συστημάτων αρχείων μεγάλων δεδομένων που χρησιμοποιούν τον αλγόριθμο MapReduce.
Τι είναι ένα κατανεμημένο σύστημα αρχείων;
Ένα κατανεμημένο σύστημα αρχείων (DFS) είναι μια μέθοδος αποθήκευσης στον υπολογιστή που περιλαμβάνει το διαχωρισμό μεγάλων αρχείων δεδομένων σε μικρότερα κομμάτια και τη διάδοσή τους σε πολλούς διακομιστές μέσα στο σύστημα. Επιτρέπει σε πελάτες από διάφορες πηγές να γράφουν και να διαβάζουν δεδομένα, να μοιράζονται και να εκτελούν προγραμματιζόμενη λογική σε δεδομένα—από οπουδήποτε.
Ένα κατανεμημένο σύστημα αρχείων αποτελείται συνήθως από τον κύριο διακομιστή (ονομάζεται επίσης NameNode στο Hadoop), παράλληλα συμπλέγματα και αρκετοί κόμβοι ή διακομιστές που περιέχουν αναπαραγόμενα κομμάτια δεδομένων, όλα σε δεδομένα κέντρο. Ωστόσο, κάθε σύμπλεγμα εντός του κατανεμημένου συστήματος αρχείων περιέχει εκατοντάδες έως χιλιάδες από αυτούς τους κόμβους.
Ο κύριος διακομιστής εντοπίζει αυτόματα τις αλλαγές μέσα στα συμπλέγματα. Έτσι μπορεί να εκχωρήσει ρόλους ανάλογα σε κάθε κόμβο.
Όταν ο κύριος διακομιστής λαμβάνει ένα αρχείο δεδομένων, το στέλνει στα συμπλέγματα εντός του DFS. Αυτά τα συμπλέγματα τεμαχίζουν και διανέμουν τα δεδομένα σε κάθε κόμβο μέσα τους. Στη συνέχεια, κάθε κόμβος αναπαράγει τα δεδομένα σε αυτό που ονομάζεται μπλοκ δεδομένων για να σχηματίσει μια αλυσίδα. Σε αυτό το σημείο, κάθε κόμβος γίνεται ένας διακομιστής τμημάτων.
Σχετιζομαι με:Τι είναι τα κέντρα δεδομένων και γιατί είναι σημαντικά;
Εκτός από τη διαχείριση της πρόσβασης στα δεδομένα, ο κύριος διακομιστής διατηρεί έναν σχολιασμό μεταδεδομένων σε κάθε αρχείο. Με αυτόν τον τρόπο, γνωρίζει ποιος κόμβος χειρίζεται ποιο αρχείο σε κάθε σύμπλεγμα.
Πώς λειτουργεί το MapReduce σε κατανεμημένα συστήματα αρχείων;
Όπως αναφέρθηκε προηγουμένως, τα μεγάλα δεδομένα είναι διαθέσιμα σε πολλούς διακομιστές τμημάτων σε ένα DFS. Ένας τρόπος για να εκτελέσετε προγραμματιζόμενη λογική σε αυτά τα αρχεία δεδομένων είναι να τα συγκεντρώσετε σε ένα. Στη συνέχεια, μπορείτε να τα τραβήξετε σε έναν μόνο διακομιστή, ο οποίος χειρίζεται τώρα τη λογική.
Αν και αυτός είναι ένας συμβατικός τρόπος αναζήτησης δεδομένων, το πρόβλημα είναι ότι τα δεδομένα γίνονται ξανά ένα σύνολο μέσα στον μεμονωμένο διακομιστή. Έτσι, ένας μόνο διακομιστής θα πρέπει να διαχειρίζεται τη λογική σε πολλά petabyte δεδομένων ταυτόχρονα. Δυστυχώς, αυτό ήταν το πρόβλημα που σκόπευε να λύσει αρχικά το σύστημα. Δεν είναι λοιπόν η καλύτερη πρακτική, τελικά.
Σχετιζομαι με:Πώς να ρωτήσετε πολλούς πίνακες βάσεων δεδομένων ταυτόχρονα με συνδέσεις SQL
Επιπλέον, μια τέτοια συγκέντρωση σε έναν μόνο διακομιστή εγκυμονεί πολλούς κινδύνους απόδοσης. Αυτά μπορεί να κυμαίνονται από σφάλμα διακομιστή, κακή απόδοση υπολογισμού, υψηλή καθυστέρηση, υψηλή κατανάλωση μνήμης και ευπάθειες έως και άλλα.
Αλλά ένας άλλος τρόπος για να εκτελέσετε την προγραμματιζόμενη λογική είναι να αφήσετε τα δεδομένα σε κομμάτια μέσα σε κάθε κατανεμημένο διακομιστή. Και μετά εισάγετε τη λογική συνάρτηση σε κάθε διακομιστή. Σημαίνει ότι κάθε διακομιστής τμημάτων σε ένα σύμπλεγμα χειρίζεται πλέον τον υπολογισμό του. Η χρήση αυτής της προσέγγισης σημαίνει ότι δεν χρειάζεται να συγκεντρωθούν ή να αντληθούν δεδομένα σε έναν μόνο διακομιστή.
Ότι υπάρχει η έννοια MapReduce σε ένα σύστημα αρχείων κατανεμημένων δεδομένων. Διασφαλίζει ότι ένας διακομιστής δεν χρειάζεται να αντλεί δεδομένα από την πηγή. Αντίθετα, διασκορπίζει τη λειτουργία επεξεργασίας (MapReduce) σε πολλούς κόμβους κομματιών σε ξεχωριστούς συμπλέγματα, επομένως κάθε κόμβος σε κάθε σύμπλεγμα χειρίζεται τη λογική ξεχωριστά χωρίς να υπερφορτώνει κανέναν υπηρέτης.
Κατά συνέπεια, αρκετοί διακομιστές χειρίζονται τη λογική σε bits δεδομένων ταυτόχρονα. Αυτή η κατανομή εργασίας μεταξύ των διακομιστών έχει ως αποτέλεσμα τη βέλτιστη απόδοση και την υψηλότερη ασφάλεια, μεταξύ άλλων θετικών.
Πώς επεξεργάζεται το αποτέλεσμα MapReduce σε ένα DFS;
Δείτε πώς λειτουργεί ολόκληρη η επεξεργασία του MapReduce σε ένα DFS:
- Ο κύριος διακομιστής λαμβάνει ένα ερώτημα μεγάλων δεδομένων (συνάρτηση MapReduce) από τον πελάτη.
- Στη συνέχεια, το στέλνει σε κάθε σύμπλεγμα για να το διαδώσει σε κάθε κόμβο μέσα σε αυτό.
- Κάθε κόμβος επεξεργάζεται τη συνάρτηση MapReduce και σωρεύει το αποτέλεσμά της.
- Ένας άλλος διακομιστής συγκεντρώνει τα αποτελέσματα από κάθε κόμβο και τα στέλνει πίσω στον κύριο διακομιστή.
- Στη συνέχεια, ο κύριος διακομιστής στέλνει το αποτέλεσμα ως απάντηση στον πελάτη.
Έτσι, η μόνη δουλειά ενός πρωτεύοντος διακομιστή είναι να στέλνει ένα εύκολα υπολογισμένο αποτέλεσμα στον πελάτη, να ακούει τις αλλαγές και να διαχειρίζεται την πρόσβαση στα δεδομένα. Δεν κάνει κανέναν υπολογισμό. Αυτός είναι ο λόγος που οι περισσότερες εφαρμογές υπολογιστικού νέφους είναι εντυπωσιακά γρήγορες παρά τον όγκο των δεδομένων που επεξεργάζονται.
Τι ακριβώς είναι το Map and Reduce στο MapReduce;
Το MapReduce χρησιμοποιεί δύο λογικές προγραμματισμού για την επεξεργασία μεγάλων δεδομένων σε ένα κατανεμημένο σύστημα διαχείρισης αρχείων (DFS). Αυτά είναι ένας χάρτης και λειτουργία μείωσης.
ο χάρτης Η συνάρτηση κάνει τη δουλειά επεξεργασίας σε καθέναν από τους κόμβους δεδομένων σε κάθε σύμπλεγμα ενός κατανεμημένου συστήματος αρχείων. ο περιορίζω Στη συνέχεια, η λειτουργία συγκεντρώνει τα αποτελέσματα που επιστρέφονται από κάθε διακομιστή τμημάτων και τα μεταβιβάζει σε άλλο διακομιστή εντός του DFS για συγκέντρωση αποτελεσμάτων. Ο διακομιστής λήψης στέλνει αυτόν τον υπολογισμό στον κύριο διακομιστή, ο οποίος δημοσιεύει την επιστρεφόμενη τιμή στον διακομιστή από την πλευρά του πελάτη.
Τι συμβαίνει όταν διακόπτεται ένας διακομιστής τμημάτων;
Οι διακομιστές μέσα σε ένα κατανεμημένο σύστημα αρχείων (DFS) ενδέχεται να αντιμετωπίζουν διακοπές λειτουργίας μερικές φορές. Μπορεί να νομίζετε ότι αυτό θα σπάσει ολόκληρο το σύστημα, αλλά δεν συμβαίνει.
Υπάρχει ένα σύστημα στον υπολογιστή που αποτρέπει μια τέτοια επικείμενη βλάβη. Λέγεται ανοχή σφαλμάτων.
Σχετιζομαι με:Τι είναι το Cloud Computing; Πώς λειτουργεί η τεχνολογία Cloud;
Ως εκ τούτου, ακόμη και όταν ένας διακομιστής απενεργοποιείται κατά την επεξεργασία δεδομένων, η ανοχή σφαλμάτων διασφαλίζει ότι ο κύριος διακομιστής το εντοπίζει αμέσως. Και δεδομένου ότι υπάρχει ένα αντίγραφο των κομματιών δεδομένων στους κόμβους, ο κύριος διακομιστής μεταφέρει αμέσως την εργασία επεξεργασίας σε άλλο διακομιστή. Με αυτόν τον τρόπο, ο χρόνος διακοπής λειτουργίας διακομιστή εντός του DFS δεν επηρεάζει την επεξεργασία δεδομένων.
Το MapReduce διευκολύνει την επεξεργασία μεγάλων δεδομένων
Το MapReduce είναι ένα βασικό μοντέλο που διευκολύνει τον υπολογισμό σε κατανεμημένα συστήματα αρχείων. Επειδή επιτρέπει σε πολλούς κόμβους να εκτελούν έναν υπολογισμό ταυτόχρονα, είναι μια γρήγορη μέθοδος που χρησιμοποιείται από διάφορους τεχνολογικούς γίγαντες για την επίλυση πολλών από τα προβλήματα που συνοδεύουν την ανάλυση μεγάλων δεδομένων.
Η Google, η Amazon, η IBM, μεταξύ άλλων, είναι παραδείγματα εταιρειών που χρησιμοποιούν αυτήν την έννοια. Η Google, για παράδειγμα, εφαρμόζει την έννοια MapReduce για να φέρει αποτελέσματα ερωτημάτων κατά την αναζήτηση Google.
Τα μεγάλα δεδομένα τροφοδοτούν πολλούς κλάδους και έχουν αντίκτυπο στη ζωή όλων μας. Είναι όμως πιο επικίνδυνο ή βοηθητικό;
Διαβάστε Επόμενο
- Προγραμματισμός
- Προγραμματισμός
- Μεγάλα δεδομένα
- Ανάλυση δεδομένων
Ο Idowu είναι παθιασμένος με οτιδήποτε έξυπνη τεχνολογία και παραγωγικότητα. Στον ελεύθερο χρόνο του, παίζει με την κωδικοποίηση και μεταβαίνει στη σκακιέρα όταν βαριέται, αλλά του αρέσει επίσης να ξεφεύγει από τη ρουτίνα που και που. Το πάθος του να δείχνει στους ανθρώπους τον τρόπο γύρω από τη σύγχρονη τεχνολογία τον παρακινεί να γράψει περισσότερα.
Εγγραφείτε στο ενημερωτικό μας δελτίο
Εγγραφείτε στο ενημερωτικό μας δελτίο για συμβουλές τεχνολογίας, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!
Κάντε κλικ εδώ για να εγγραφείτε