Tutorial Apache Flume: Flux de date Twitter



Acest blog tutorial Apache Flume explică fundamentele Apache Flume și caracteristicile sale. Va prezenta, de asemenea, streamingul Twitter folosind Apache Flume.

În acest blog tutorial Apache Flume, vom înțelege modul în care Flume ajută la streaming de date din diferite surse. Dar înainte de asta să ne înțelegem importanța ingestiei de date. Ingerarea datelor este pasul inițial și important pentru a prelucra și analiza date și apoi pentru a obține valori de afaceri din acestea. Există mai multe surse din care datele sunt colectate într-o organizație.

Să vorbim despre un alt motiv important pentru care Flume a devenit atât de popular. Sper că te poți familiariza , care este utilizată enorm în industrie, deoarece poate stoca tot felul de date. Flume se poate integra cu ușurință cu Hadoop și poate arunca date nestructurate, precum și date semi-structurate pe HDFS, completând puterea Hadoop. Acesta este motivul pentru care Apache Flume este o parte importantă a ecosistemului Hadoop.





În acest blog tutorial Apache Flume, vom acoperi:



Vom începe acest tutorial Flume discutând despre ce este Apache Flume. Apoi, mergând mai departe, vom înțelege avantajele utilizării Flume.

Tutorial Apache Flume: Introducere în Apache Flume

Logo Apache Flume - Tutorial Apache Flume - EdurekaApache Flume este un instrument pentru ingestia de date în HDFS. Colectează, agregează și transportă o cantitate mare de date de streaming, cum ar fi fișiere jurnal, evenimente din diverse surse, cum ar fi traficul de rețea, social media, mesaje de e-mail etc. către HDFS.Flume este o companie foarte fiabilă și distribuită.

Ideea principală din spatele designului Flume este de a capta date de streaming de pe diferite servere web pe HDFS. Are o arhitectură simplă și flexibilă bazată pe fluxurile de date în flux. Este tolerant la erori și oferă un mecanism de fiabilitate pentru toleranța la erori și recuperarea erorilor.



După ce înțelegem ce este Flume, acum permiteți-ne să avansăm în acest blog Tutorial Flume și să înțelegem beneficiile Apache Flume. Apoi, mergând mai departe, ne vom uita la arhitectura lui Flume și vom încerca să înțelegem cum funcționează fundamental.

aplicații de analiză big data

Tutorial Apache Flume: Avantajele Apache Flume

Există mai multe avantaje ale Apache Flume, ceea ce îl face o alegere mai bună decât altele. Avantajele sunt:

  • Flume este scalabil, fiabil, tolerant la erori și personalizabil pentru diferite surse și chiuvete.
  • Apache Flume poate stoca date în magazine centralizate (adică datele sunt furnizate dintr-un singur magazin), cum ar fi HBase și HDFS.
  • Flume este scalabil pe orizontală.
  • Dacă rata de citire depășește rata de scriere, Flume oferă un flux constant de date între operațiile de citire și scriere.
  • Flume oferă livrarea de mesaje de încredere. Tranzacțiile din Flume sunt bazate pe canale în care sunt menținute două tranzacții (un expeditor și un receptor) pentru fiecare mesaj.
  • Folosind Flume, putem ingera date de pe mai multe servere în Hadoop.
  • Ne oferă o soluție fiabilă și distribuită și ne ajută la colectarea, agregarea și mutarea unei cantități mari de seturi de date precum Facebook, Twitter și site-uri web de comerț electronic.
  • Ne ajută să ingerăm date de streaming online din diverse surse, cum ar fi traficul de rețea, social media, mesaje de e-mail, fișiere jurnal etc. în HDFS.
  • Suportă un set mare de tipuri de surse și destinații.

Arhitectura este una care împuternicește Apache Flume cu aceste beneficii. Acum, așa cum știm avantajele Apache Flume, să mergem mai departe și să înțelegem arhitectura Apache Flume.

Tutorial Apache Flume: Flume Architecture

Acum, să înțelegem arhitectura Flume din diagrama de mai jos:

Există un agent Flume care ingerează datele de streaming din diferite surse de date în HDFS. Din diagramă, puteți înțelege cu ușurință că serverul web indică sursa de date. Twitter se numără printre una dintre renumitele surse de streaming de date.

Agentul de canal are 3 componente: sursă, chiuvetă și canal.

    1. Sursă : Acceptă datele de la fluxul de intrare și stochează datele în canal.
    2. Canal : În general, viteza de citire este mai mare decât viteza de scriere. Astfel, avem nevoie de un tampon pentru a se potrivi cu diferența de viteză de citire și scriere. Practic, bufferul acționează ca un stocare intermediară care stochează datele transferate temporar și, prin urmare, previne pierderea datelor. În mod similar, canalul acționează ca stocare locală sau ca stocare temporară între sursa de date și datele persistente în HDFS.
    3. Chiuvetă : Apoi, ultima noastră componentă, adică Sink, colectează datele de pe canal și comite sau scrie datele în HDFS permanent.

Acum, așa cum știm cum funcționează Apache Flume, să aruncăm o privire la o practică în care vom scufunda datele Twitter și le vom stoca în HDFS.

Tutorial Apache Flume: Streaming date Twitter

În această practică, vom transmite în flux date de pe Twitter folosind Flume și apoi vom stoca datele în HDFS așa cum se arată în imaginea de mai jos.

Primul pas este crearea unei aplicații Twitter. Pentru aceasta, trebuie mai întâi să accesați această adresă URL: https://apps.twitter.com/ și conectați-vă la contul dvs. Twitter. Mergeți pentru a crea fila aplicației așa cum se arată în imaginea de mai jos.

Apoi, creați o aplicație așa cum se arată în imaginea de mai jos.

După crearea acestei aplicații, veți găsi simbolul Cheie și acces. Copiați cheia și jetonul de acces. Vom trece aceste jetoane în fișierul nostru de configurare Flume pentru a ne conecta la această aplicație.

Acum creați un fișier flume.conf în directorul rădăcină al flumei, așa cum se arată în imaginea de mai jos. După cum am discutat, în Flume’s Architecture, vom configura sursa, chiuveta și canalul nostru. Sursa noastră este Twitter, de unde difuzăm datele, iar Sink este HDFS, unde scriem datele.

În configurația sursă trecem tipul sursă Twitter ca org.apache.flume.source.twitter.TwitterSource. Apoi, trecem toate cele patru jetoane pe care le-am primit de la Twitter. În sfârșit, în configurația sursă, trecem cuvintele cheie pe care urmează să preluăm tweet-urile.

În configurația Sink vom configura proprietățile HDFS. Vom seta calea HDFS, formatul de scriere, tipul de fișier, dimensiunea lotului etc. În cele din urmă vom seta canalul de memorie așa cum se arată în imaginea de mai jos.

Acum suntem cu toții pregătiți pentru execuție. Să mergem mai departe și să executăm această comandă:

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

După ce ați executat această comandă pentru o vreme, apoi puteți ieși din terminal folosind CTRL + C. Apoi, puteți merge mai departe în directorul dvs. Hadoop și puteți verifica calea menționată, indiferent dacă fișierul este creat sau nu.

găsiți cel mai mare număr dintr-o matrice

Descărcați fișierul și deschideți-l. Veți obține ceva așa cum se arată în imaginea de mai jos.

Sper că acest blog vă este informativ și cu valoare adăugată. Dacă sunteți interesat să aflați mai multe, puteți parcurge acest lucru care vă spune despre Big Data și despre modul în care Hadoop rezolvă provocările legate de Big Data.

Acum că ați înțeles Apache Flume, verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul Edureka Big Data Hadoop Certification Training îi ajută pe cursanți să devină experți în HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume și Sqoop folosind cazuri de utilizare în timp real în domeniul Retail, Social Media, Aviație, Turism, Finanțe.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii și vă vom răspunde.