Πίνακας περιεχομένων:
- Αποκτήστε τα μεγάλα δεδομένα έτοιμα
- Αφήστε το μεγάλο χάρτη δεδομένων να αρχίσει
- Μείωση και συνδυασμός για μεγάλα δεδομένα
Βίντεο: How to Install Hadoop on Windows 2024
Για να κατανοήσουμε πλήρως τις δυνατότητες του Hadoop MapReduce, είναι σημαντικό να διαφοροποιήσουμε το MapReduce (τον αλγόριθμο) εφαρμογή του MapReduce. Το Hadoop MapReduce είναι μια εφαρμογή του αλγορίθμου που αναπτύχθηκε και συντηρείται από το έργο Apache Hadoop.
Είναι χρήσιμο να σκεφτούμε την εφαρμογή ως μηχανή MapReduce, γιατί ακριβώς αυτό λειτουργεί. Παρέχετε εισροή (καύσιμο), ο κινητήρας μετατρέπει την είσοδο σε έξοδο γρήγορα και αποτελεσματικά και παίρνετε τις απαντήσεις που χρειάζεστε.
Το Hadoop MapReduce περιλαμβάνει διάφορα στάδια, το καθένα με ένα σημαντικό σύνολο από πράξεις που βοηθούν να φτάσετε στο στόχο σας να λάβετε τις απαντήσεις που χρειάζεστε από τα μεγάλα δεδομένα. Η διαδικασία ξεκινά με ένα αίτημα χρήστη να εκτελέσει ένα πρόγραμμα MapReduce και συνεχίζει έως ότου τα αποτελέσματα επιστραφούν στο HDFS.
Τα αρχεία HDFS και MapReduce εκτελούν την εργασία τους σε κόμβους σε ένα σύμπλεγμα που φιλοξενείται σε ράφια διακομιστών βασικών προϊόντων. Για να απλοποιηθεί η συζήτηση, το διάγραμμα δείχνει μόνο δύο κόμβους.
Αποκτήστε τα μεγάλα δεδομένα έτοιμα
Όταν ένας πελάτης ζητήσει να εκτελεστεί ένα πρόγραμμα MapReduce, το πρώτο βήμα είναι να εντοπίσετε και να διαβάσετε το αρχείο εισόδου που περιέχει τα ακατέργαστα δεδομένα. Η μορφή αρχείου είναι εντελώς αυθαίρετη, αλλά τα δεδομένα πρέπει να μετατραπούν σε κάτι που μπορεί να επεξεργαστεί το πρόγραμμα. Αυτή είναι η λειτουργία του InputFormat και του RecordReader. Το InputFormat αποφασίζει τον τρόπο με τον οποίο το αρχείο πρόκειται να σπάσει σε μικρότερα κομμάτια για επεξεργασία χρησιμοποιώντας μια λειτουργία που ονομάζεται InputSplit.
Στη συνέχεια, εκχωρεί ένα RecordReader για να μετατρέψει τα ακατέργαστα δεδομένα προς επεξεργασία από το χάρτη. Διάφοροι τύποι RecordReaders παρέχονται με Hadoop, προσφέροντας μια μεγάλη ποικιλία επιλογών μετατροπής. Αυτό το χαρακτηριστικό είναι ένας από τους τρόπους με τους οποίους ο Hadoop διαχειρίζεται την τεράστια ποικιλία τύπων δεδομένων που βρίσκονται σε μεγάλα προβλήματα δεδομένων.
Αφήστε το μεγάλο χάρτη δεδομένων να αρχίσει
Τα δεδομένα σας είναι τώρα σε μορφή αποδεκτή από τον χάρτη. Για κάθε ζεύγος εισόδου, μια ξεχωριστή εμφάνιση του χάρτη καλείται να επεξεργαστεί τα δεδομένα. Αλλά τι κάνει με την επεξεργασμένη παραγωγή και πώς μπορείτε να τα παρακολουθείτε;
Ο χάρτης διαθέτει δύο πρόσθετες δυνατότητες για την αντιμετώπιση των ερωτήσεων. Επειδή χάρτης και μείωση της ανάγκης να συνεργαστούν για να επεξεργαστούν τα δεδομένα σας, το πρόγραμμα πρέπει να συλλέξει την παραγωγή από τους ανεξάρτητους χαρτογράφους και να το μεταβιβάσει στους μειωτήρες. Αυτή η εργασία εκτελείται από ένα OutputCollector. Μια λειτουργία Reporter παρέχει επίσης πληροφορίες που συλλέγονται από τις εργασίες χαρτών ώστε να γνωρίζετε πότε ή εάν οι εργασίες χαρτών είναι πλήρεις.
Όλα αυτά τα έργα εκτελούνται ταυτόχρονα σε πολλαπλούς κόμβους του cluster Hadoop.Μπορεί να έχετε περιπτώσεις όπου η έξοδος από ορισμένες διαδικασίες χαρτογράφησης πρέπει να συσσωρευτεί πριν αρχίσουν οι μειωτήρες. Ή, ορισμένα από τα ενδιάμεσα αποτελέσματα ίσως χρειαστούν επεξεργασία πριν από τη μείωση.
Επιπλέον, μερικές από αυτές τις εξόδους μπορεί να βρίσκονται σε κόμβο διαφορετικό από τον κόμβο όπου θα εκτελούνται οι μειωτήρες για τη συγκεκριμένη έξοδο. Η συλλογή και η αναδιάταξη των ενδιάμεσων αποτελεσμάτων πραγματοποιούνται από ένα διαχωριστικό και ένα είδος. Οι εργασίες χαρτών θα δώσουν τα αποτελέσματα σε ένα συγκεκριμένο διαμέρισμα ως εισροές στις εργασίες μείωσης.
Αφού ολοκληρωθούν όλες οι εργασίες χαρτών, τα ενδιάμεσα αποτελέσματα συγκεντρώνονται στο διαμέρισμα και εμφανίζεται ανακατεύθυνση, διαχωρίζοντας την έξοδο για βέλτιστη επεξεργασία μειώνοντας.
Μείωση και συνδυασμός για μεγάλα δεδομένα
Για κάθε ζεύγος εξόδου, η μείωση καλείται να εκτελέσει την εργασία της. Με παρόμοιο τρόπο με το χάρτη, η μείωση μειώνει την παραγωγή της ενώ όλες οι εργασίες επεξεργάζονται. Η μείωση δεν μπορεί να ξεκινήσει μέχρι να ολοκληρωθεί η χαρτογράφηση. Η παραγωγή της μείωσης είναι επίσης ένα κλειδί και μια αξία. Παρόλο που αυτό είναι απαραίτητο για να μειωθεί η εργασία του, μπορεί να μην είναι η πιο αποτελεσματική μορφή εξόδου για την εφαρμογή σας.
Hadoop παρέχει μια λειτουργία OutputFormat και λειτουργεί πολύ σαν το InputFormat. Το OutputFormat παίρνει το ζεύγος κλειδιού-τιμής και οργανώνει την έξοδο για εγγραφή σε HDFS. Το τελευταίο καθήκον είναι να γράψετε πραγματικά τα δεδομένα σε HDFS. Αυτό γίνεται από το RecordWriter και εκτελεί όμοια με το RecordReader εκτός από το αντίθετο. Παίρνει τα δεδομένα OutputFormat και τα γράφει σε HDFS στη μορφή που είναι απαραίτητη για τις απαιτήσεις του προγράμματος.
Ο συντονισμός όλων αυτών των δραστηριοτήτων έγινε σε παλαιότερες εκδόσεις του Hadoop από έναν προγραμματιστή εργασίας. Αυτός ο χρονοπρογραμματιστής ήταν στοιχειώδης και, καθώς ο συνδυασμός των θέσεων εργασίας άλλαξε και αυξήθηκε, ήταν σαφές ότι ήταν αναγκαία μια διαφορετική προσέγγιση. Η πρωτογενής ανεπάρκεια στον παλιό χρονοπρογραμματιστή ήταν η έλλειψη διαχείρισης των πόρων. Η τελευταία έκδοση του Hadoop έχει αυτή τη νέα δυνατότητα.
Hadoop MapReduce είναι η καρδιά του συστήματος Hadoop. Παρέχει όλες τις δυνατότητες που χρειάζεστε για να σπάσετε τα μεγάλα δεδομένα σε διαχειρίσιμα κομμάτια, να επεξεργαστείτε τα δεδομένα παράλληλα στο κατανεμημένο σύμπλεγμα και, στη συνέχεια, να κάνετε τα δεδομένα διαθέσιμα για κατανάλωση από τον χρήστη ή για πρόσθετη επεξεργασία. Και όλα αυτά δουλεύουν με εξαιρετικά ανθεκτικό, ανθεκτικό σε λάθη τρόπο. Αυτό είναι μόνο η αρχή.