Εκμάθηση Apache Flume: Ροή δεδομένων Twitter



Αυτό το ιστολόγιο εκμάθησης Apache Flume εξηγεί τις βασικές αρχές του Apache Flume και τις δυνατότητές του. Θα παρουσιάσει επίσης ροή Twitter χρησιμοποιώντας το Apache Flume.

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

Ας μιλήσουμε για έναν άλλο σημαντικό λόγο για τον οποίο το Flume έγινε τόσο δημοφιλές. Ελπίζω να γνωρίζετε , το οποίο χρησιμοποιείται εξαιρετικά στη βιομηχανία καθώς μπορεί να αποθηκεύσει όλα τα είδη δεδομένων. Το Flume μπορεί εύκολα να ενσωματωθεί στο Hadoop και να απορρίψει μη δομημένα καθώς και ημι-δομημένα δεδομένα σε HDFS, συγχαίροντας τη δύναμη του Hadoop. Γι 'αυτό το Apache Flume είναι ένα σημαντικό μέρος του Hadoop Ecosystem.





Σε αυτό το blog εκμάθησης Apache Flume, θα καλύψουμε:



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

Tutorial Apache Flume: Εισαγωγή στο Apache Flume

Λογότυπο Apache Flume - Apache Flume Tutorial - EdurekaΤο Apache Flume είναι ένα εργαλείο για την απορρόφηση δεδομένων σε HDFS. Συλλέγει, συγκεντρώνει και μεταφέρει μεγάλο αριθμό δεδομένων ροής, όπως αρχεία καταγραφής, συμβάντα από διάφορες πηγές, όπως κυκλοφορία δικτύου, κοινωνικά μέσα, μηνύματα email κ.λπ. σε HDFS.Το Flume είναι εξαιρετικά αξιόπιστο και διανεμημένο.

Η κύρια ιδέα πίσω από το σχεδιασμό του Flume είναι η λήψη δεδομένων ροής από διάφορους διακομιστές ιστού σε HDFS. Έχει απλή και ευέλικτη αρχιτεκτονική με βάση ροές δεδομένων ροής. Είναι ανεκτικό σε σφάλματα και παρέχει μηχανισμό αξιοπιστίας για ανοχή σφαλμάτων και αποκατάσταση αστοχίας.



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

τι κάνει ένας προγραμματιστής ios

Εκμάθηση Apache Flume: Πλεονεκτήματα του Apache Flume

Υπάρχουν πολλά πλεονεκτήματα του Apache Flume που το καθιστούν καλύτερη επιλογή έναντι των άλλων. Τα πλεονεκτήματα είναι:

  • Το Flume είναι επεκτάσιμο, αξιόπιστο, ανεκτικό σε σφάλματα και προσαρμόσιμο για διαφορετικές πηγές και νεροχύτες.
  • Το Apache Flume μπορεί να αποθηκεύσει δεδομένα σε κεντρικά καταστήματα (δηλαδή τα δεδομένα παρέχονται από ένα μόνο κατάστημα) όπως το HBase & HDFS.
  • Το Flume είναι οριζόντια επεκτάσιμο.
  • Εάν ο ρυθμός ανάγνωσης υπερβαίνει τον ρυθμό εγγραφής, το Flume παρέχει μια σταθερή ροή δεδομένων μεταξύ των λειτουργιών ανάγνωσης και εγγραφής.
  • Το Flume παρέχει αξιόπιστη παράδοση μηνυμάτων. Οι συναλλαγές στο Flume βασίζονται σε κανάλια όπου διατηρούνται δύο συναλλαγές (ένας αποστολέας και ένας παραλήπτης) για κάθε μήνυμα.
  • Χρησιμοποιώντας το Flume, μπορούμε να απορροφήσουμε δεδομένα από πολλούς διακομιστές στο Hadoop.
  • Μας δίνει μια λύση που είναι αξιόπιστη και διανεμημένη και μας βοηθά στη συλλογή, τη συγκέντρωση και τη μετακίνηση μεγάλου όγκου συνόλων δεδομένων, όπως ιστότοποι Facebook, Twitter και ηλεκτρονικού εμπορίου.
  • Μας βοηθά να απορροφήσουμε δεδομένα συνεχούς ροής από διάφορες πηγές όπως κυκλοφορία δικτύου, μέσα κοινωνικής δικτύωσης, μηνύματα email, αρχεία καταγραφής κ.λπ. σε HDFS.
  • Υποστηρίζει ένα μεγάλο σύνολο πηγών και τύπων προορισμών.

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

Εκμάθηση Apache Flume: Αρχιτεκτονική Flume

Τώρα, ας κατανοήσουμε την αρχιτεκτονική του Flume από το παρακάτω διάγραμμα:

Υπάρχει ένας πράκτορας Flume που απορροφά τα δεδομένα ροής από διάφορες πηγές δεδομένων σε HDFS. Από το διάγραμμα, μπορείτε εύκολα να καταλάβετε ότι ο διακομιστής ιστού υποδεικνύει την πηγή δεδομένων. Το Twitter είναι μια από τις διάσημες πηγές ροής δεδομένων.

Ο παράγοντας flume έχει 3 συστατικά: πηγή, νεροχύτη και κανάλι.

    1. Πηγή : Δέχεται τα δεδομένα από την εισερχόμενη ροή και αποθηκεύει τα δεδομένα στο κανάλι.
    2. Κανάλι : Γενικά, η ταχύτητα ανάγνωσης είναι ταχύτερη από την ταχύτητα γραφής. Έτσι, χρειαζόμαστε κάποιο buffer για να ταιριάξουμε τη διαφορά ταχύτητας ανάγνωσης και εγγραφής. Βασικά, το buffer ενεργεί ως ενδιάμεσος χώρος αποθήκευσης που αποθηκεύει τα δεδομένα που μεταφέρονται προσωρινά και επομένως αποτρέπει την απώλεια δεδομένων. Παρομοίως, το κανάλι ενεργεί ως τοπική αποθήκευση ή προσωρινή αποθήκευση μεταξύ της πηγής δεδομένων και των μόνιμων δεδομένων στο HDFS.
    3. Νεροχύτης : Στη συνέχεια, το τελευταίο μας στοιχείο, δηλαδή το Sink, συλλέγει τα δεδομένα από το κανάλι και δεσμεύει ή γράφει τα δεδομένα στο HDFS μόνιμα.

Τώρα, καθώς γνωρίζουμε πώς λειτουργεί το Apache Flume, ας ρίξουμε μια ματιά σε ένα πρακτικό όπου θα βυθίσουμε τα δεδομένα του Twitter και θα τα αποθηκεύσουμε στο HDFS.

Apache Flume Tutorial: Ροή δεδομένων Twitter

Σε αυτό το πρακτικό, θα μεταφέρουμε δεδομένα από το Twitterusing Flume και στη συνέχεια θα αποθηκεύσουμε τα δεδομένα σε HDFS όπως φαίνεται στην παρακάτω εικόνα.

Το πρώτο βήμα είναι να δημιουργήσετε μια εφαρμογή Twitter. Για αυτό, πρέπει πρώτα να μεταβείτε σε αυτήν τη διεύθυνση URL: https://apps.twitter.com/ και συνδεθείτε στον λογαριασμό σας στο Twitter. Μεταβείτε για να δημιουργήσετε την καρτέλα εφαρμογής όπως φαίνεται στην παρακάτω εικόνα.

Στη συνέχεια, δημιουργήστε μια εφαρμογή όπως φαίνεται στην παρακάτω εικόνα.

Μετά τη δημιουργία αυτής της εφαρμογής, θα βρείτε το διακριτικό Key & Access. Αντιγράψτε το κλειδί και το διακριτικό πρόσβασης. Θα περάσουμε αυτά τα διακριτικά στο αρχείο διαμόρφωσης Flume για να συνδεθείτε σε αυτήν την εφαρμογή.

Τώρα δημιουργήστε ένα αρχείο flume.conf στον ριζικό κατάλογο του flume όπως φαίνεται στην παρακάτω εικόνα. Όπως συζητήσαμε, στην Αρχιτεκτονική του Flume, θα διαμορφώσουμε το Source, το Sink και το Channel μας. Η πηγή μας είναι το Twitter, από όπου μεταδίδουμε τα δεδομένα και ο νεροχύτης μας είναι HDFS, όπου γράφουμε τα δεδομένα.

Στην διαμόρφωση πηγής μεταβιβάζουμε τον τύπο πηγής Twitter ως org.apache.flume.source.twitter.TwitterSource. Στη συνέχεια, περνάμε και τα τέσσερα διακριτικά που λάβαμε από το Twitter. Επιτέλους στη διαμόρφωση πηγής μεταδίδουμε τις λέξεις-κλειδιά στις οποίες πρόκειται να πάρουμε τα tweets.

Στη διαμόρφωση νεροχύτη πρόκειται να ρυθμίσουμε τις ιδιότητες HDFS. Θα ορίσουμε διαδρομή HDFS, μορφή εγγραφής, τύπο αρχείου, μέγεθος παρτίδας κ.λπ. Επιτέλους πρόκειται να ορίσουμε κανάλι μνήμης όπως φαίνεται στην παρακάτω εικόνα.

Τώρα είμαστε όλοι έτοιμοι για εκτέλεση. Ας προχωρήσουμε και εκτελέσουμε αυτήν την εντολή:

$ FLUME_HOME / bin / flume-ng agent --conf ./conf/ -f $ FLUME_HOME / flume.conf

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

συνάρτηση fibonacci c ++

Κατεβάστε το αρχείο και ανοίξτε το. Θα λάβετε κάτι όπως φαίνεται στην παρακάτω εικόνα.

Ελπίζω ότι αυτό το blog είναι ενημερωτικό και προστιθέμενη αξία για εσάς. Εάν σας ενδιαφέρει να μάθετε περισσότερα, μπορείτε να το διαβάσετε το οποίο σας λέει για τα Big Data και πώς η Hadoop επιλύει προκλήσεις που σχετίζονται με τα Big Data.

Τώρα που έχετε κατανοήσει το Apache Flume, ρίξτε μια ματιά στο από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Το πρόγραμμα εκπαίδευσης Edureka Big Data Hadoop Certification βοηθά τους μαθητές να γίνουν ειδικοί σε HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume και Sqoop χρησιμοποιώντας περιπτώσεις χρήσης σε πραγματικό χρόνο σε τομείς λιανικής, κοινωνικής δικτύωσης, αεροπορίας, τουρισμού, χρηματοοικονομικών.

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