Μια γρήγορη επισκόπηση του Apache Hadoop Framework

Το Hadoop, τώρα γνωστό ως Apache Hadoop, πήρε το όνομά του από έναν ελέφαντα παιχνιδιών που ανήκε στον γιο του συνιδρυτή Doug Cutting. Ο Doug επέλεξε το όνομα για το έργο ανοιχτού κώδικα, καθώς ήταν εύκολο να συλλαβίζει, να προφέρει και να βρει στα αποτελέσματα αναζήτησης. Ο αρχικός κίτρινος γεμιστός ελέφαντας που ενέπνευσε το όνομα εμφανίζεται στο λογότυπο του Hadoop.

Τι είναι το Apache Hadoop;

Η βιβλιοθήκη λογισμικού Apache Hadoop είναι ένα πλαίσιο που επιτρέπει την κατανεμημένη επεξεργασία μεγάλων συνόλων δεδομένων σε ομάδες υπολογιστών χρησιμοποιώντας απλά μοντέλα προγραμματισμού. Έχει σχεδιαστεί για να αυξάνεται από μεμονωμένους διακομιστές σε χιλιάδες μηχανήματα, το καθένα προσφέρει τοπικό υπολογισμό και αποθήκευση. Αντί να βασίζεται σε υλικό για την παροχή υψηλής διαθεσιμότητας, η ίδια η βιβλιοθήκη έχει σχεδιαστεί για να εντοπίζει και να χειρίζεται αστοχίες στο επίπεδο της εφαρμογής, παρέχοντας έτσι μια πολύ διαθέσιμη υπηρεσία πάνω από ένα σύμπλεγμα υπολογιστών, καθένας από τους οποίους μπορεί να είναι επιρρεπής σε αστοχίες.

Πηγή: Apache Hadoop

Το 2003 η Google κυκλοφόρησε την εφημερίδα τους στο Google File System (GFS). Περιέγραψε λεπτομερώς ένα ιδιόκτητο κατανεμημένο σύστημα αρχείων που αποσκοπούσε στην παροχή αποτελεσματικής πρόσβασης σε μεγάλες ποσότητες δεδομένων χρησιμοποιώντας υλικό εμπορευμάτων. Ένα χρόνο αργότερα, η Google κυκλοφόρησε ένα άλλο έγγραφο με τίτλο "MapReduce: Simplified Data Processing on Large Clusters". Εκείνη την εποχή, ο Ντουγκ δούλευε στο Yahoo. Αυτά τα άρθρα ήταν η έμπνευση για το έργο ανοιχτού κώδικα Apache Nutch. Το 2006, τα στοιχεία του έργου που ήταν τότε γνωστά ως Hadoop απομακρύνθηκαν από το Apache Nutch και απελευθερώθηκαν.

Γιατί είναι χρήσιμο το Hadoop;

Κάθε μέρα, δισεκατομμύρια gigabytes δεδομένων δημιουργούνται σε διάφορες μορφές. Μερικά παραδείγματα δεδομένων που δημιουργούνται συχνά είναι:

  • Μεταδεδομένα από τη χρήση τηλεφώνου
  • Καταγραφές ιστοτόπου
  • Συναλλαγές αγοράς πιστωτικής κάρτας
  • Δημοσιεύσεις κοινωνικών μέσων
  • Βίντεο
  • Πληροφορίες που συλλέγονται από ιατροτεχνολογικά προϊόντα

Το "Big data" αναφέρεται σε σύνολα δεδομένων που είναι πολύ μεγάλα ή περίπλοκα για επεξεργασία χρησιμοποιώντας παραδοσιακές εφαρμογές λογισμικού. Παράγοντες που συμβάλλουν στην πολυπλοκότητα των δεδομένων είναι το μέγεθος του συνόλου δεδομένων, η ταχύτητα των διαθέσιμων επεξεργαστών και η μορφή των δεδομένων.

Κατά τη στιγμή της κυκλοφορίας του, το Hadoop ήταν σε θέση να επεξεργάζεται δεδομένα σε μεγαλύτερη κλίμακα από το παραδοσιακό λογισμικό.

Core Hadoop

Τα δεδομένα αποθηκεύονται στο Hadoop Distributed File System (HDFS). Χρησιμοποιώντας τη μείωση χάρτη, το Hadoop επεξεργάζεται δεδομένα σε παράλληλα κομμάτια (επεξεργάζεται πολλά μέρη ταυτόχρονα) και όχι σε μία ουρά. Αυτό μειώνει το χρόνο που απαιτείται για την επεξεργασία μεγάλων συνόλων δεδομένων.

Το HDFS λειτουργεί αποθηκεύοντας μεγάλα αρχεία χωρισμένα σε κομμάτια και αναπαράγοντάς τα σε πολλούς διακομιστές. Η ύπαρξη πολλαπλών αντιγράφων αρχείων δημιουργεί πλεονασμούς, που προστατεύει από την απώλεια δεδομένων.

Οικοσύστημα Hadoop

Υπάρχουν πολλά άλλα πακέτα λογισμικού που συμπληρώνουν το Hadoop. Αυτά τα προγράμματα περιλαμβάνουν το Hadoop Ecosystem. Ορισμένα προγράμματα διευκολύνουν τη φόρτωση δεδομένων στο σύμπλεγμα Hadoop, ενώ άλλα κάνουν το Hadoop ευκολότερο στη χρήση.

Το Hadoop Ecosystem περιλαμβάνει:

  • Κυψέλη Apache
  • Χοίρος Apache
  • Apache HBase
  • Apache Phoenix
  • Apache Spark
  • Apache ZooKeeper
  • Cloudera Impala
  • Apache Flume
  • Apache Sqoop
  • Apache Oozie

Περισσότερες πληροφορίες:

  • Apache Hadoop