Πίνακας περιεχομένων:
- RHadoop
- rmr2:
- Η ScaleR στοχεύει στην γρήγορη εκτέλεση του κώδικα προγράμματος R σε ομάδες συμπλέγματος Hadoop, επιτρέποντας στον προγραμματιστή R να επικεντρωθεί αποκλειστικά στους στατιστικούς αλγόριθμους και όχι στον MapReduce. Επιπλέον, χειρίζεται πολλά καθήκοντα ανάλυσης, όπως προετοιμασία δεδομένων, οπτικοποίηση και στατιστικές δοκιμές.
- Η τεχνολογία BigInsights Big R υποστηρίζει πολλαπλές πηγές δεδομένων - συμπεριλαμβανομένων των επίπεδων αρχείων, των μορφών αποθήκευσης HBase και Hive - παρέχοντας ταυτόχρονα παράλληλη και χωριστή εκτέλεση του κώδικα R σε ολόκληρο το σύμπλεγμα Hadoop. Κρύβει πολλές από τις πολυπλοκότητες στα υποκείμενα πλαίσια HDFS και MapReduce, επιτρέποντας στις λειτουργίες του Big R να εκτελούν εκτεταμένες αναλύσεις δεδομένων - τόσο σε δομημένα όσο και σε μη δομημένα δεδομένα.
Βίντεο: Hadoop Rack Awareness 2024
Στην αρχή, τα μεγάλα δεδομένα και οι R δεν ήταν φυσικοί φίλοι. R προγραμματισμού απαιτεί να φορτώνονται όλα τα αντικείμενα στην κύρια μνήμη ενός μόνο μηχανήματος. Οι περιορισμοί αυτής της αρχιτεκτονικής πραγματοποιούνται γρήγορα όταν μεγάλα δεδομένα γίνονται μέρος της εξίσωσης.
Αντίθετα, τα κατανεμημένα συστήματα αρχείων όπως ο Hadoop στερούνται ισχυρές στατιστικές τεχνικές, αλλά είναι ιδανικές για την κλιμάκωση σύνθετων λειτουργιών και εργασιών. Οι κατακόρυφες λύσεις κλιμάκωσης - που απαιτούν επένδυση σε δαπανηρό υλικό υπερυπολογιστών - συχνά δεν μπορούν να ανταγωνιστούν με την απόδοση κόστους-κόστους που προσφέρουν τα κατανεμημένα συμπλέγματα υλικών βασικών προϊόντων.
Αυτό επιτεύχθηκε με τη χρήση συστημάτων μετάδοσης μηνυμάτων και τηλεειδοποίησης. Αυτή η τεχνική είναι σε θέση να διευκολύνει την εργασία πάνω σε σύνολα δεδομένων που είναι πολύ μεγάλα για να αποθηκεύονται ταυτόχρονα στην κύρια μνήμη. Ωστόσο, η προσέγγιση προγραμματισμού χαμηλού επιπέδου παρουσιάζει μια απότομη καμπύλη μάθησης για όσους δεν είναι εξοικειωμένοι με παραδείγματα παράλληλου προγραμματισμού.
Για προγραμματιστές που επιθυμούν να προγραμματίσουν εργασίες MapReduce σε γλώσσες (συμπεριλαμβανομένου του R) εκτός από την Java, μια δεύτερη επιλογή είναι να χρησιμοποιήσετε το API Streaming του Hadoop. Οι εργασίες MapReduce που υποβάλλονται από το χρήστη υποβάλλονται σε μετασχηματισμούς δεδομένων με τη βοήθεια τυπικών ροών UNIX και σειριοποίησης, διασφαλίζοντας την είσοδο που είναι συμβατή με την Java στον Hadoop - ανεξάρτητα από τη γλώσσα που εισήγαγε ο προγραμματιστής.
Οι προγραμματιστές συνεχίζουν να διερευνούν διάφορες στρατηγικές για να αξιοποιήσουν τη κατανεμημένη ικανότητα υπολογισμού του MapReduce και την σχεδόν απεριόριστη χωρητικότητα αποθήκευσης των HDFS με τρόπους που μπορούν να αξιοποιηθούν από το R.Η ενσωμάτωση του Hadoop με το R είναι σε εξέλιξη, με προσφορές διαθέσιμες από την IBM (Big R ως μέρος των BigInsights) και Revolution Analytics (Revolution R Enterprise). Προσφέρονται επίσης λύσεις γεφύρωσης που ενσωματώνουν προγραμματισμό υψηλού επιπέδου και γλώσσες αναζήτησης με το Hadoop, όπως το RHive και το RHadoop.
Βασικά, κάθε σύστημα στοχεύει να προσφέρει τις βαθιές αναλυτικές δυνατότητες της γλώσσας R σε πολύ μεγαλύτερα σύνολα δεδομένων.
RHive
Το πλαίσιο RHive χρησιμεύει ως γέφυρα μεταξύ της γλώσσας R και της κυψέλης. Το RHive παραδίδει τις πλούσιες στατιστικές βιβλιοθήκες και τους αλγορίθμους του R σε δεδομένα που είναι αποθηκευμένα στο Hadoop, επεκτείνοντας την γλώσσα ερωτημάτων τύπου Hive (HiveQL) της Hive με λειτουργίες που σχετίζονται με την R. Μέσω των λειτουργιών RHive, μπορείτε να χρησιμοποιήσετε την εφαρμογή HiveQL για να εφαρμόσετε R στατιστικά μοντέλα στα δεδομένα στο σύμπλεγμα Hadoop που έχετε καταγράψει χρησιμοποιώντας το Hive.
RHadoop
Ένα άλλο πλαίσιο ανοιχτού κώδικα που διατίθεται στους προγραμματιστές R είναι το RHadoop, μια συλλογή πακέτων που προορίζονται για τη διαχείριση της διανομής και της ανάλυσης δεδομένων με τον Hadoop. Τρία πακέτα σημείωσης - rmr2, rhdfs και rhbase - παρέχουν το μεγαλύτερο μέρος της λειτουργικότητας του RHadoop:
rmr2:
Το πακέτο rmr2 υποστηρίζει τη μετάφραση της γλώσσας R στις χαρτογραφικές εργασίες Hadoop (δημιουργώντας αποδοτικό κώδικα MapReduce χαμηλού επιπέδου από κωδικό R υψηλότερου επιπέδου).
-
rhdfs: Το πακέτο rhdfs παρέχει ένα API γλώσσας R για τη διαχείριση αρχείων σε καταστήματα HDFS. Χρησιμοποιώντας rhdfs, οι χρήστες μπορούν να διαβάσουν από καταστήματα HDFS σε ένα πλαίσιο δεδομένων R (μήτρα) και να γράψουν παρόμοια δεδομένα από αυτές τις μήτρες R πίσω στην αποθήκευση HDFS.
-
rhbase: Τα πακέτα rhbase παρέχουν επίσης API γλώσσας R, αλλά ο στόχος τους στη ζωή είναι να ασχοληθούν με τη διαχείριση βάσεων δεδομένων για τα καταστήματα HBase αντί για τα αρχεία HDFS.
-
Revolution R Η Revolution R (από την Revolution Analytics) είναι μια εμπορική προσφορά R με υποστήριξη για την ενσωμάτωση R σε κατανεμημένα συστήματα Hadoop. Η Revolution R υπόσχεται να προσφέρει βελτιωμένες επιδόσεις, λειτουργικότητα και χρηστικότητα για τον R on Hadoop. Για να παρέχει βαθιά αναλυτικά στοιχεία, όπως το R, η Revolution R χρησιμοποιεί τη βιβλιοθήκη ScaleR της εταιρείας - μια συλλογή αλγορίθμων στατιστικής ανάλυσης που αναπτύσσονται ειδικά για μεγάλες συλλογές δεδομένων σε επιχειρήσεις.
Η ScaleR στοχεύει στην γρήγορη εκτέλεση του κώδικα προγράμματος R σε ομάδες συμπλέγματος Hadoop, επιτρέποντας στον προγραμματιστή R να επικεντρωθεί αποκλειστικά στους στατιστικούς αλγόριθμους και όχι στον MapReduce. Επιπλέον, χειρίζεται πολλά καθήκοντα ανάλυσης, όπως προετοιμασία δεδομένων, οπτικοποίηση και στατιστικές δοκιμές.
IBM BigInsights Big R
Το Big R προσφέρει ολοκλήρωση μεταξύ της R και της προσφοράς Hadoop της IBM, BigInsights, που επιτρέπει στους προγραμματιστές R να αναλύσουν τα δεδομένα του Hadoop. Σκοπός είναι να εκμεταλλευτούμε τα σύνταξη προγραμματισμού και τα πρότυπα κωδικοποίησης της R, ενώ παράλληλα θα διασφαλίσουμε ότι τα δεδομένα θα λειτουργούν όταν παραμείνουν σε HDFS. Τα R datatypes χρησιμεύουν ως πληρεξούσια σε αυτά τα αποθηκευμένα δεδομένα, πράγμα που σημαίνει ότι οι προγραμματιστές R δεν χρειάζεται να σκεφτούν καμπύλες MapReduce χαμηλού επιπέδου ή ειδικές γλώσσες scripting Hadoop (όπως το Pig).
Η τεχνολογία BigInsights Big R υποστηρίζει πολλαπλές πηγές δεδομένων - συμπεριλαμβανομένων των επίπεδων αρχείων, των μορφών αποθήκευσης HBase και Hive - παρέχοντας ταυτόχρονα παράλληλη και χωριστή εκτέλεση του κώδικα R σε ολόκληρο το σύμπλεγμα Hadoop. Κρύβει πολλές από τις πολυπλοκότητες στα υποκείμενα πλαίσια HDFS και MapReduce, επιτρέποντας στις λειτουργίες του Big R να εκτελούν εκτεταμένες αναλύσεις δεδομένων - τόσο σε δομημένα όσο και σε μη δομημένα δεδομένα.
Τέλος, η δυνατότητα επεκτάσεως του στατιστικού μηχανισμού Big R επιτρέπει στους προγραμματιστές R να κάνουν χρήση τόσο των προκαθορισμένων στατιστικών τεχνικών, όσο και των ίδιων των νέων αλγορίθμων.