Apache Flume Tutorial: Twitter-Daten-Streaming



In diesem Apache Flume-Tutorial-Blog werden die Grundlagen von Apache Flume und seine Funktionen erläutert. Außerdem wird Twitter-Streaming mit Apache Flume gezeigt.

In diesem Apache Flume-Tutorial-Blog erfahren Sie, wie Flume beim Streaming von Daten aus verschiedenen Quellen hilft. Aber lassen Sie uns vorher die Bedeutung der Datenaufnahme verstehen. Die Datenaufnahme ist der erste und wichtigste Schritt, um Daten zu verarbeiten, zu analysieren und daraus Geschäftswerte abzuleiten. Es gibt mehrere Quellen, aus denen Daten in einer Organisation gesammelt werden.

Sprechen wir über einen weiteren wichtigen Grund, warum Flume so beliebt wurde. Ich hoffe, Sie kennen sich aus , das in der Branche enorm eingesetzt wird, da es alle Arten von Daten speichern kann. Flume kann problemlos in Hadoop integriert werden und unstrukturierte sowie halbstrukturierte Daten in HDFS speichern, was die Leistungsfähigkeit von Hadoop ergänzt. Aus diesem Grund ist Apache Flume ein wichtiger Bestandteil des Hadoop-Ökosystems.





In diesem Apache Flume-Tutorial-Blog werden wir Folgendes behandeln:



Wir beginnen dieses Flume-Tutorial mit einer Diskussion darüber, was Apache Flume ist. Dann werden wir die Vorteile der Verwendung von Flume verstehen.

Apache Flume Tutorial: Einführung in Apache Flume

Apache Flume Logo - Apache Flume Tutorial - EdurekaApache Flume ist ein Tool zur Datenaufnahme in HDFS. Es sammelt, aggregiert und transportiert große Mengen von Streaming-Daten wie Protokolldateien, Ereignisse aus verschiedenen Quellen wie Netzwerkverkehr, soziale Medien, E-Mail-Nachrichten usw. an HDFS.Flume ist sehr zuverlässig und verteilt.

Die Hauptidee des Flume-Designs besteht darin, Streaming-Daten von verschiedenen Webservern zu HDFS zu erfassen. Es verfügt über eine einfache und flexible Architektur, die auf Streaming-Datenflüssen basiert. Es ist fehlertolerant und bietet einen Zuverlässigkeitsmechanismus für Fehlertoleranz und Fehlerbehebung.



Nachdem wir verstanden haben, was Flume ist, lassen Sie uns nun in diesem Flume-Tutorial-Blog fortfahren und die Vorteile von Apache Flume verstehen. Anschließend werden wir uns die Architektur von Flume ansehen und versuchen zu verstehen, wie sie grundlegend funktioniert.

Was ist ein iOS-Entwickler?

Apache Flume Tutorial: Vorteile von Apache Flume

Es gibt mehrere Vorteile von Apache Flume, die es zu einer besseren Wahl gegenüber anderen machen. Die Vorteile sind:

  • Das Gerinne ist skalierbar, zuverlässig, fehlertolerant und für verschiedene Quellen und Senken anpassbar.
  • Apache Flume kann Daten in zentralen Speichern (d. H. Daten werden von einem einzelnen Speicher bereitgestellt) wie HBase und HDFS speichern.
  • Das Gerinne ist horizontal skalierbar.
  • Wenn die Leserate die Schreibrate überschreitet, stellt Flume einen stetigen Datenfluss zwischen Lese- und Schreibvorgängen bereit.
  • Flume bietet eine zuverlässige Nachrichtenübermittlung. Die Transaktionen in Flume sind kanalbasiert, wobei für jede Nachricht zwei Transaktionen (ein Absender und ein Empfänger) verwaltet werden.
  • Mit Flume können wir Daten von mehreren Servern in Hadoop aufnehmen.
  • Es bietet uns eine zuverlässige und verteilte Lösung, die uns beim Sammeln, Aggregieren und Verschieben großer Datenmengen wie Facebook, Twitter und E-Commerce-Websites hilft.
  • Es hilft uns, Online-Streaming-Daten aus verschiedenen Quellen wie Netzwerkverkehr, sozialen Medien, E-Mail-Nachrichten, Protokolldateien usw. in HDFS aufzunehmen.
  • Es unterstützt eine Vielzahl von Quellen- und Zieltypen.

Die Architektur bietet Apache Flume diese Vorteile. Lassen Sie uns nun, da wir die Vorteile von Apache Flume kennen, die Apache Flume-Architektur verstehen.

Apache Flume Tutorial: Flume-Architektur

Lassen Sie uns nun die Architektur von Flume anhand des folgenden Diagramms verstehen:

Es gibt einen Flume-Agenten, der die Streaming-Daten von verschiedenen Datenquellen zu HDFS aufnimmt. Aus dem Diagramm können Sie leicht ersehen, dass der Webserver die Datenquelle angibt. Twitter gehört zu den bekanntesten Quellen für das Streaming von Daten.

Das Gerinne besteht aus 3 Komponenten: Quelle, Senke und Kanal.

    1. Quelle : Es akzeptiert die Daten aus der eingehenden Stromlinie und speichert die Daten im Kanal.
    2. Kanal : Im Allgemeinen ist die Lesegeschwindigkeit schneller als die Schreibgeschwindigkeit. Daher benötigen wir einen Puffer, der dem Unterschied der Lese- und Schreibgeschwindigkeit entspricht. Grundsätzlich fungiert der Puffer als Zwischenspeicher, der die übertragenen Daten vorübergehend speichert und so Datenverlust verhindert. In ähnlicher Weise fungiert der Kanal als lokaler Speicher oder als temporärer Speicher zwischen der Datenquelle und persistenten Daten im HDFS.
    3. Sinken : Dann sammelt unsere letzte Komponente, d. H. Sink, die Daten vom Kanal und schreibt sie fest oder schreibt sie dauerhaft in das HDFS.

Nachdem wir nun wissen, wie Apache Flume funktioniert, werfen wir einen Blick auf ein Praktikum, in dem wir die Twitter-Daten versenken und im HDFS speichern.

Apache Flume Tutorial: Streamen von Twitter-Daten

In diesem Praktikum werden wir Daten von Twitter mithilfe von Flume streamen und die Daten dann in HDFS speichern, wie im folgenden Bild gezeigt.

Der erste Schritt besteht darin, eine Twitter-Anwendung zu erstellen. Dazu müssen Sie zuerst zu dieser URL gehen: https://apps.twitter.com/ und melden Sie sich bei Ihrem Twitter-Konto an. Wechseln Sie zur Registerkarte 'Anwendung' (siehe Abbildung unten).

Erstellen Sie dann eine Anwendung wie im folgenden Bild gezeigt.

Nach dem Erstellen dieser Anwendung finden Sie das Key & Access-Token. Kopieren Sie den Schlüssel und das Zugriffstoken. Wir werden diese Token in unserer Flume-Konfigurationsdatei übergeben, um eine Verbindung zu dieser Anwendung herzustellen.

Erstellen Sie nun eine flume.conf-Datei im Stammverzeichnis des Flumes, wie in der folgenden Abbildung gezeigt. Wie bereits erwähnt, werden wir in der Flume-Architektur Quelle, Senke und Kanal konfigurieren. Unsere Quelle ist Twitter, von wo aus wir die Daten streamen, und unser Waschbecken ist HDFS, wo wir die Daten schreiben.

In der Quellkonfiguration übergeben wir den Twitter-Quelltyp als org.apache.flume.source.twitter.TwitterSource. Dann übergeben wir alle vier Token, die wir von Twitter erhalten haben. Zuletzt übergeben wir in der Quellkonfiguration die Schlüsselwörter, für die wir die Tweets abrufen wollen.

In der Sink-Konfiguration werden die HDFS-Eigenschaften konfiguriert. Wir werden den HDFS-Pfad, das Schreibformat, den Dateityp, die Stapelgröße usw. festlegen. Zuletzt werden wir den Speicherkanal wie in der folgenden Abbildung gezeigt einstellen.

Jetzt sind wir alle bereit für die Ausführung. Lassen Sie uns fortfahren und diesen Befehl ausführen:

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

Nachdem Sie diesen Befehl eine Weile ausgeführt haben, können Sie das Terminal mit STRG + C verlassen. Anschließend können Sie in Ihrem Hadoop-Verzeichnis den angegebenen Pfad überprüfen, ob die Datei erstellt wurde oder nicht.

SQLoop-Import von Oracle nach HDFS

Laden Sie die Datei herunter und öffnen Sie sie. Sie erhalten etwas wie im folgenden Bild gezeigt.

Ich hoffe, dieser Blog ist informativ und bietet Ihnen einen Mehrwert. Wenn Sie mehr erfahren möchten, können Sie dies durchgehen Hier erfahren Sie mehr über Big Data und wie Hadoop Herausforderungen im Zusammenhang mit Big Data löst.

Nachdem Sie Apache Flume verstanden haben, lesen Sie die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Der Edureka Big Data Hadoop-Zertifizierungskurs hilft Lernenden, Experten für HDFS, Garn, MapReduce, Schwein, Bienenstock, HBase, Oozie, Flume und Sqoop zu werden. Dabei werden Anwendungsfälle in Echtzeit in den Bereichen Einzelhandel, soziale Medien, Luftfahrt, Tourismus und Finanzen verwendet.

Hast du eine Frage an uns? Bitte erwähnen Sie es in den Kommentaren und wir werden uns bei Ihnen melden.