Μια βαθιά κατάδυση στο γουρούνι



Αυτή η ανάρτηση ιστολογίου είναι μια βαθιά βουτιά στο χοίρο και τις λειτουργίες του. Θα βρείτε μια επίδειξη για το πώς μπορείτε να εργαστείτε στο Hadoop χρησιμοποιώντας το Pig χωρίς εξάρτηση από την Java.

Ένας από τους μεγαλύτερους λόγους για τους οποίους η δημοτικότητα του Hadoop αυξήθηκε στα ύψη τα τελευταία χρόνια είναι το γεγονός ότι χαρακτηριστικά όπως το Pig και το Hive λειτουργούν πάνω από αυτό επιτρέποντας σε μη προγραμματιστές με λειτουργικότητα που προηγουμένως ήταν αποκλειστική για προγραμματιστές Java. Αυτά τα χαρακτηριστικά ήταν συνέπεια της αυξανόμενης ζήτησης για επαγγελματίες Hadoop. Άλλα χαρακτηριστικά που χρησιμοποιούνται από επαγγελματίες Hadoop από μη Java υπόβαθρα είναι οι Flume, Sqoop, HBase και Oozie.





Για να καταλάβετε γιατί δεν χρειάζεστε Java για να μάθετε Hadoop, ρίξτε μια ματιά αυτό το ιστολόγιο .

1 Ιστορικό χοίρου



Ας καταλάβουμε πώς λειτουργούν αυτές οι λειτουργίες.

Όλοι γνωρίζουμε ότι η γνώση προγραμματισμού είναι απαραίτητη για τη σύνταξη κωδικών MapReduce. Τι γίνεται όμως αν έχω ένα εργαλείο που μπορεί να κάνει την κωδικοποίηση εάν θα έδινα απλώς τις λεπτομέρειες; Εκεί ο χοίρος παρουσιάζει τη μυϊκή του δύναμη. Το Pig χρησιμοποιεί μια πλατφόρμα που ονομάζεται Pig Latin που αφαιρεί τον προγραμματισμό από το Java MapReduce ιδίωμα σε έναν συμβολισμό που καθιστά τον προγραμματισμό MapReduce υψηλό επίπεδο, παρόμοιο με εκείνο του SQL για συστήματα RDBMS. Οι κωδικοί που γράφονται στο Pig Latin MapReduce μετατρέπονται αυτόματα σε αντίστοιχες λειτουργίες MapReduce. Δεν είναι τόσο φοβερό; Ένα άλλο γεγονός που προκαλεί μυαλό είναι ότι χρειάζονται μόνο 10 γραμμές χοίρου για την αντικατάσταση 200 γραμμών Java.



10 γραμμές Pig = 200 γραμμές Java

Αυτό δεν σημαίνει μόνο ότι οι επαγγελματίες που δεν χρησιμοποιούν Java χρησιμοποιούν το Hadoop, αλλά και μαρτυρούν το γεγονός ότι το Pig χρησιμοποιείται από ίσο αριθμό τεχνικών προγραμματιστών.

Επιπλέον, εάν θέλετε να γράψετε τον δικό σας κωδικό MapReduce, μπορείτε να το κάνετε σε οποιαδήποτε από τις γλώσσες όπως Perl, Python, Ruby ή C. Ορισμένες βασικές λειτουργίες που μπορούμε να εκτελέσουμε σε οποιοδήποτε σύνολο δεδομένων χρησιμοποιώντας Pig είναι Group, Join, Filter και Sort . Αυτές οι λειτουργίες μπορούν να πραγματοποιηθούν σε δομημένα, μη-δομημένα και επίσης ημι-δομημένα δεδομένα. Παρέχουν έναν ad-hoc τρόπο για τη δημιουργία και εκτέλεση εργασιών MapReduce σε πολύ μεγάλα σύνολα δεδομένων.

Στη συνέχεια, ας καταλάβουμε την κυψέλη. Είναι ένα πλαίσιο αποθήκευσης δεδομένων ανοιχτής πηγής, κλίμακας χάρτη-byte βασισμένο στο Hadoop για σύνοψη δεδομένων, ερώτημα και ανάλυση. Το Hive παρέχει μια διεπαφή τύπου SQL για το Hadoop. Μπορείτε να χρησιμοποιήσετε το Hive για να διαβάσετε και να γράψετε αρχεία στο Hadoop και να εκτελέσετε τις αναφορές σας από ένα εργαλείο BI. Μερικές τυπικές λειτουργίες του Hadoop είναι:

Επιτρέψτε μου να σας δείξω μια επίδειξη χρησιμοποιώντας το σύνολο δεδομένων Pig on Clickstream
Θα χρησιμοποιήσουμε αυτά τα δεδομένα Clickstream και θα πραγματοποιήσουμε μετασχηματισμούς, συνδέσεις και ομαδοποιήσεις.

απλό πρόγραμμα ταξινόμησης συγχώνευσης στο c ++

Το ClickStream είναι μια σειρά κλικ του ποντικιού που πραγματοποιούνται από έναν χρήστη κατά την πρόσβαση στο Διαδίκτυο, ιδίως όπως παρακολουθείται για την αξιολόγηση των ενδιαφερόντων ενός ατόμου για σκοπούς μάρκετινγκ. Χρησιμοποιείται κυρίως από διαδικτυακούς ιστότοπους λιανικής όπως το Flipkart και το Amazon που παρακολουθούν τις δραστηριότητές σας για τη δημιουργία προτάσεων. Το σύνολο δεδομένων Clickstream που έχουμε χρησιμοποιήσει έχει τα ακόλουθα πεδία:

1. Τύπος γλώσσας που υποστηρίζεται από την εφαρμογή Ιστού

2. Τύπος προγράμματος περιήγησης

3. Τύπος σύνδεσης

4. Αναγνωριστικό χώρας

5. Χρονική σφραγίδα

μετατροπή δυαδικού σε ακέραιο java

6. Διεύθυνση URL

7. Κατάσταση χρήστη

8. Τύπος χρήστη

Θα μοιάζει με αυτό με τα κατάλληλα πεδία.

Ακολουθεί η λίστα των τύπων προγράμματος περιήγησης που έχουν χρησιμοποιηθεί από διάφορα άτομα κατά την πλοήγηση σε έναν συγκεκριμένο ιστότοπο. Μεταξύ των λιστών περιλαμβάνονται προγράμματα περιήγησης όπως ο Internet Explorer, το Google Chrome, το Lynx και ούτω καθεξής.

Ο τύπος σύνδεσης στο Διαδίκτυο μπορεί να είναι Lan / Modem / Wifi. Δείτε την παρακάτω εικόνα για την πλήρη λίστα:

Στην επόμενη εικόνα, θα βρείτε τη λίστα των χωρών από τις οποίες ο ιστότοπος έχει προσελκύσει κοινό μαζί με τα αναγνωριστικά τους.

Μόλις συγκεντρώσουμε όλα τα σύνολα δεδομένων, πρέπει να ξεκινήσουμε το κέλυφος του Pig’s Grunt, το οποίο ξεκινά για να τρέξουμε τις εντολές Pig.

Το πρώτο πράγμα που πρέπει να κάνουμε για την εκκίνηση του Grunt shell είναι να φορτώσουμε τα δεδομένα Clickstream στη σχέση του Pig. Μια σχέση δεν είναι παρά ένας πίνακας. Ακολουθεί η εντολή που χρησιμοποιούμε για να φορτώσουμε ένα αρχείο που βρίσκεται σε HDFS στη σχέση του Pig.

Μπορούμε να επαληθεύσουμε το σχήμα της σχέσης με την εντολή περιγραφή click_stream.

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

Έχουμε τώρα δύο αρχεία αναφοράς, αλλά πρέπει να συνδεθούν για να σχηματίσουν μια σχέση.
Εκτελούμε μια εντολή connection_ref για να υποδείξουμε τον τύπο της σύνδεσης.

πότε να το χρησιμοποιήσετε σε Java

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

Μπορούμε να πραγματοποιήσουμε μια λειτουργία φίλτρου για να μειώσουμε τα Big Data. Οι διαφορετικοί τύποι χρηστών είναι Διαχειριστές, Επισκέπτες ή Bots. Στο demo μας, έχω φιλτράρει τη λίστα για τους επισκέπτες.

Αν θυμάστε, το αναγνωριστικό χώρας υπάρχει στη ροή κλικ και φορτώσαμε ένα αρχείο country_ref που περιέχει τα ονόματα των χωρών μαζί με τα αναγνωριστικά του. Μπορούμε έτσι να εκτελέσουμε μια λειτουργία Συμμετοχής μεταξύ των δύο αρχείων και να συγχωνεύσουμε τα δεδομένα για να αντλήσουμε πληροφορίες.

Εάν έχουμε ενώσει τα δεδομένα, τότε μπορούμε να ανακαλύψουμε τις διάφορες χώρες από τις οποίες βρίσκονται οι χρήστες με Ομαδοποίηση. Μόλις έχουμε αυτά τα δεδομένα, μπορούμε να εκτελέσουμε μια λειτουργία Count για να προσδιορίσουμε τον αριθμό των χρηστών από μια συγκεκριμένη χώρα.

Δεν είναι επιστήμη πυραύλων να αντλήσουμε πληροφορίες από τα Big Data. Αυτά είναι μόνο μερικά από τα πολλά χαρακτηριστικά που έχω εφαρμόσει και με εργαλεία όπως Hive, Hbase, Oozie, Sqoop και Flume υπάρχει ένας θησαυρός δεδομένων που δεν έχουν ακόμη διερευνηθεί. Έτσι, όσοι από εσάς κρατάτε τον εαυτό σας πίσω από την εκμάθηση του Hadoop, ήρθε η ώρα να αλλάξετε.

Έχετε μια ερώτηση για εμάς; Αναφέρετέ τα στην ενότητα σχολίων και θα επικοινωνήσουμε μαζί σας.

Σχετικές αναρτήσεις:

4 τρόποι χρήσης του R και του Hadoop μαζί

Τα πάντα σχετικά με τον πιστοποιημένο προγραμματιστή Cloudera για το Apache Hadoop