Apache Flume Tutorial: Twitter Data Streaming



Denne Apache Flume-opplæringsbloggen forklarer grunnleggende om Apache Flume og dens funksjoner. Det vil også presentere Twitter-streaming ved hjelp av Apache Flume.

I denne Apache Flume opplæringsbloggen vil vi forstå hvordan Flume hjelper til med å streame data fra forskjellige kilder. Men før det, la oss forstå viktigheten av inntak av data. Inntak av data er det første og viktige trinnet for å behandle og analysere data, og deretter utlede forretningsverdier ut av det. Det er flere kilder data samles fra i en organisasjon.

La oss snakke om en annen viktig grunn til at Flume ble så populær. Jeg håper du kan være kjent med , som brukes enormt i bransjen, da den kan lagre alle slags data. Flume kan enkelt integreres med Hadoop og dumpe ustrukturerte så vel som semistrukturerte data på HDFS, og komplimentere kraften til Hadoop. Dette er grunnen til at Apache Flume er en viktig del av Hadoop Ecosystem.





I denne Apache Flume opplæringsbloggen vil vi dekke:



Vi begynner denne Flume-opplæringen ved å diskutere hva som er Apache Flume. Deretter vil vi forstå fordelene med å bruke Flume.

Apache Flume Tutorial: Introduksjon til Apache Flume

Apache Flume logo - Apache Flume Tutorial - EdurekaApache Flume er et verktøy for datainntak i HDFS. Den samler inn, samler og transporterer store mengder streamingdata som loggfiler, hendelser fra forskjellige kilder som nettverkstrafikk, sosiale medier, e-postmeldinger etc. til HDFS.Flume er en svært pålitelig og distribuert.

Hovedideen bak Flumes design er å fange strømmedata fra forskjellige webservere til HDFS. Den har enkel og fleksibel arkitektur basert på datastrømmer. Det er feiltolerant og gir pålitelighetsmekanisme for feiltoleranse og feilgjenoppretting.



Etter å ha forstått hva som er Flume, la oss nå gå videre i denne Flume Tutorial-bloggen og forstå fordelene med Apache Flume. Deretter vil vi se på arkitekturen til Flume og prøve å forstå hvordan den fungerer fundamentalt.

hva brukes sas programmering til

Apache Flume Tutorial: Fordeler med Apache Flume

Det er flere fordeler med Apache Flume, noe som gjør det til et bedre valg i forhold til andre. Fordelene er:

  • Flume er skalerbar, pålitelig, feiltolerant og tilpasses for forskjellige kilder og vasker.
  • Apache Flume kan lagre data i sentraliserte butikker (dvs. data leveres fra en enkelt butikk) som HBase & HDFS.
  • Flume er skalerbart horisontalt.
  • Hvis lesehastigheten overstiger skrivehastigheten, gir Flume en jevn strøm av data mellom lese- og skriveoperasjonene.
  • Flume gir pålitelig levering av meldinger. Transaksjonene i Flume er kanalbaserte der to transaksjoner (en avsender og en mottaker) opprettholdes for hver melding.
  • Ved hjelp av Flume kan vi innta data fra flere servere til Hadoop.
  • Det gir oss en pålitelig og distribuert løsning som hjelper oss med å samle, samle og flytte store mengder datasett som Facebook, Twitter og e-handelsnettsteder.
  • Det hjelper oss å innta online streamingdata fra forskjellige kilder som nettverkstrafikk, sosiale medier, e-postmeldinger, loggfiler etc. i HDFS.
  • Den støtter et stort sett med kilder og destinasjonstyper.

Arkitekturen er en som gir Apache Flume disse fordelene. Nå, som vi vet fordelene med Apache Flume, kan vi gå videre og forstå Apache Flume-arkitekturen.

Apache Flume Tutorial: Flume Architecture

La oss nå forstå arkitekturen til Flume fra diagrammet nedenfor:

Det er en Flume-agent som setter inn strømmedataene fra forskjellige datakilder til HDFS. Fra diagrammet kan du enkelt forstå at webserveren indikerer datakilden. Twitter er en av de berømte kildene for streaming av data.

Flume agent har 3 komponenter: kilde, vask og kanal.

    1. Kilde : Den godtar dataene fra den innkommende strømlinjeformingen og lagrer dataene i kanalen.
    2. Kanal : Generelt sett er lesehastigheten raskere enn skrivehastigheten. Dermed trenger vi litt buffer for å matche forskjellen mellom lese- og skrivehastighet. I utgangspunktet fungerer bufferen som en mellomlagring som lagrer dataene som overføres midlertidig og derfor forhindrer tap av data. På samme måte fungerer kanalen som lokal lagring eller midlertidig lagring mellom datakilden og vedvarende data i HDFS.
    3. Synke : Deretter samler den siste komponenten vår, dvs. Sink, dataene fra kanalen og forplikter eller skriver dataene i HDFS permanent.

Nå som vi vet hvordan Apache Flume fungerer, la oss ta en titt på et praktisk der vi vil synke Twitter-dataene og lagre dem i HDFS.

Apache Flume Tutorial: Streaming Twitter Data

I dette praktiske vil vi streame data fra Twitter ved hjelp av Flume og deretter lagre dataene i HDFS som vist i bildet nedenfor.

Det første trinnet er å opprette en Twitter-applikasjon. For dette må du først gå til denne url: https://apps.twitter.com/ og logg på Twitter-kontoen din. Gå til opprett applikasjonsfanen som vist i bildet nedenfor.

Opprett deretter et program som vist i bildet nedenfor.

Etter at du har opprettet denne applikasjonen, finner du Key & Access token. Kopier nøkkelen og tilgangstokenet. Vi sender disse tokens i Flume-konfigurasjonsfilen for å koble til dette programmet.

Opprett nå en flume.conf-fil i flommens rotkatalog som vist på bildet nedenfor. Som vi diskuterte, i Flume's Architecture, vil vi konfigurere vår kilde, vask og kanal. Kilden vår er Twitter, hvorfra vi streamer dataene og Sinken vår er HDFS, hvor vi skriver dataene.

I kildekonfigurasjon sender vi Twitter-kildetypen som org.apache.flume.source.twitter.TwitterSource. Deretter sender vi alle de fire tokens som vi mottok fra Twitter. Endelig i kildekonfigurasjon sender vi nøkkelordene som vi skal hente tweets på.

I Sink-konfigurasjonen skal vi konfigurere HDFS-egenskaper. Vi vil angi HDFS-bane, skriveformat, filtype, batchstørrelse osv. Til slutt skal vi stille inn minnekanal som vist på bildet nedenfor.

Nå er vi klar for utførelse. La oss fortsette og utføre denne kommandoen:

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

Etter å ha utført denne kommandoen en stund, og deretter kan du avslutte terminalen ved hjelp av CTRL + C. Deretter kan du gå videre i Hadoop-katalogen din og sjekke den nevnte banen, enten filen er opprettet eller ikke.

java forskjell mellom forlengere og redskaper

Last ned filen og åpne den. Du får noe som vist i bildet nedenfor.

Jeg håper denne bloggen er informativ og gir merverdi for deg. Hvis du er interessert i å lære mer, kan du gå gjennom dette som forteller deg om Big Data og hvordan Hadoop løser utfordringer knyttet til Big Data.

Nå som du har forstått Apache Flume, sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Edureka Big Data Hadoop-sertifiseringstreningskurs hjelper elever å bli eksperter på HDFS, Garn, MapReduce, Pig, Hive, HBase, Oozie, Flume og Sqoop ved å bruke sanntidsbruk på Retail, Social Media, Aviation, Tourism, Finance.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet, så kommer vi tilbake til deg.