Apache Flume-vejledning: Twitter-datastreaming



Denne Apache Flume tutorial-blog forklarer de grundlæggende aspekter af Apache Flume og dens funktioner. Det viser også Twitter-streaming ved hjælp af Apache Flume.

I denne Apache Flume tutorial-blog vil vi forstå, hvordan Flume hjælper med at streame data fra forskellige kilder. Men før det, lad os forstå vigtigheden af ​​dataindtagelse. Indtagelse af data er det første og vigtige trin for at behandle og analysere data og derefter udlede forretningsværdier ud af det. Der er flere kilder, hvorfra data indsamles i en organisation.

Lad os tale om en anden vigtig grund til, at Flume blev så populær. Jeg håber, du måske er bekendt med , som bruges enormt i branchen, da det kan gemme alle slags data. Flume kan let integreres med Hadoop og dumpe ustrukturerede såvel som semistrukturerede data på HDFS, hvilket komplimenterer Hadoop's kraft. Derfor er Apache Flume en vigtig del af Hadoop Ecosystem.





I denne Apache Flume-selvstudieblog vil vi dække:



Vi begynder denne Flume-tutorial ved at diskutere, hvad der er Apache Flume. Så når vi går videre, vil vi forstå fordelene ved at bruge Flume.

Apache Flume Tutorial: Introduktion til Apache Flume

Apache Flume logo - Apache Flume Tutorial - EdurekaApache Flume er et værktøj til dataindtagelse i HDFS. Det indsamler, aggregerer og transporterer store mængder streamingdata såsom logfiler, begivenheder fra forskellige kilder som netværkstrafik, sociale medier, e-mail-beskeder osv. Til HDFS.Flume er en meget pålidelig og distribueret.

Hovedideen bag Flumes design er at fange streamingdata fra forskellige webservere til HDFS. Det har enkel og fleksibel arkitektur baseret på streaming af datastrømme. Det er fejltolerant og giver pålidelighedsmekanisme til fejltolerance og fejlgendannelse.



Efter at have forstået hvad der er Flume, lad os nu gå videre i denne Flume Tutorial-blog og forstå fordelene ved Apache Flume. Derefter vil vi se på Flumes arkitektur og forsøge at forstå, hvordan det fungerer fundamentalt.

hvordan kompilerer jeg et java-program

Apache Flume-vejledning: Fordele ved Apache Flume

Der er flere fordele ved Apache Flume, hvilket gør det til et bedre valg i forhold til andre. Fordelene er:

  • Flume er skalerbar, pålidelig, fejltolerant og kan tilpasses til forskellige kilder og dræn.
  • Apache Flume kan gemme data i centraliserede butikker (dvs. data leveres fra en enkelt butik) som HBase & HDFS.
  • Flume er skalerbart vandret.
  • Hvis læsehastigheden overstiger skrivehastigheden, giver Flume en jævn strøm af data mellem læse- og skriveoperationer.
  • Flume giver pålidelig meddelelseslevering. Transaktionerne i Flume er kanalbaserede, hvor to transaktioner (en afsender og en modtager) opretholdes for hver besked.
  • Ved hjælp af Flume kan vi indtage data fra flere servere til Hadoop.
  • Det giver os en pålidelig og distribueret løsning, som hjælper os med at indsamle, samle og flytte store mængder datasæt som Facebook, Twitter og e-handelswebsites.
  • Det hjælper os med at indtage online streaming data fra forskellige kilder som netværkstrafik, sociale medier, e-mail-beskeder, logfiler osv. I HDFS.
  • Det understøtter et stort sæt kilder og destinationstyper.

Arkitekturen er en, der giver Apache Flume disse fordele. Nu, som vi kender fordelene ved Apache Flume, kan vi gå videre og forstå Apache Flume-arkitekturen.

Apache Flume Tutorial: Flume Architecture

Lad os nu forstå Flumes arkitektur fra nedenstående diagram:

Der er en Flume-agent, der indtager streamingdata fra forskellige datakilder til HDFS. Fra diagrammet kan du let forstå, at webserveren angiver datakilden. Twitter er blandt en af ​​de berømte kilder til streaming af data.

Røgagenten har 3 komponenter: kilde, vask og kanal.

    1. Kilde : Det accepterer dataene fra den indgående strømline og gemmer dataene i kanalen.
    2. Kanal : Generelt er læsehastigheden hurtigere end skrivehastigheden. Således har vi brug for en buffer for at matche forskellen i læse- og skrivehastighed. Dybest set fungerer bufferen som et mellemlager, der lagrer dataene, der overføres midlertidigt og derfor forhindrer datatab. På samme måde fungerer kanalen som det lokale lager eller en midlertidig lagring mellem datakilden og vedvarende data i HDFS.
    3. Håndvask : Derefter indsamler vores sidste komponent, dvs. Sink, dataene fra kanalen og forpligter eller skriver dataene permanent i HDFS.

Nu, da vi ved, hvordan Apache Flume fungerer, så lad os se på et praktisk, hvor vi vil synke Twitter-dataene og gemme dem i HDFS.

Apache Flume Tutorial: Streaming af Twitter-data

I dette praktiske vil vi streame data fra Twitter ved hjælp af Flume og derefter gemme dataene i HDFS som vist i nedenstående billede.

Det første trin er at oprette en Twitter-applikation. Til dette skal du først gå til denne url: https://apps.twitter.com/ og log ind på din Twitter-konto. Gå til oprette applikationsfane som vist i nedenstående billede.

Opret derefter en applikation som vist i nedenstående billede.

Efter oprettelsen af ​​denne applikation finder du Key & Access-token. Kopier nøglen og adgangstokenet. Vi sender disse tokens i vores Flume-konfigurationsfil for at oprette forbindelse til denne applikation.

Opret nu en flume.conf-fil i røgens rodmappe som vist i nedenstående billede. Som vi diskuterede, i Flume's Architecture, konfigurerer vi vores Source, Sink og Channel. Vores kilde er Twitter, hvorfra vi streamer dataene, og vores Sink er HDFS, hvor vi skriver dataene.

I kildekonfiguration sender vi Twitter-kildetypen som org.apache.flume.source.twitter.TwitterSource. Derefter sender vi alle de fire tokens, som vi modtog fra Twitter. Endelig i kildekonfiguration videregiver vi de nøgleord, som vi skal hente tweetsne på.

I Sink-konfigurationen skal vi konfigurere HDFS-egenskaber. Vi vil indstille HDFS-sti, skriveformat, filtype, batchstørrelse osv. Endelig skal vi indstille hukommelseskanal som vist i nedenstående billede.

Nu er vi klar til udførelse. Lad os gå videre og udføre denne kommando:

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

Efter at have udført denne kommando i et stykke tid, og derefter kan du afslutte terminalen ved hjælp af CTRL + C. Derefter kan du gå videre i dit Hadoop-bibliotek og kontrollere den nævnte sti, uanset om filen oprettes eller ej.

hvad er datastruktur i java

Download filen og åbn den. Du får noget som vist i nedenstående billede.

Jeg håber, at denne blog er informativ og merværdi for dig. Hvis du er interesseret i at lære mere, kan du gå igennem dette som fortæller dig om Big Data, og hvordan Hadoop løser udfordringer relateret til Big Data.

Nu hvor du har forstået Apache Flume, skal du tjekke af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Edureka Big Data Hadoop-certificeringskursus hjælper elever med at blive eksperter i HDFS, Garn, MapReduce, Pig, Hive, HBase, Oozie, Flume og Sqoop ved hjælp af realtidsanvendelsessager på Retail, Social Media, Aviation, Tourism, Finance domæne.

Har du et spørgsmål til os? Nævn det i kommentarfeltet, og vi vender tilbage til dig.