Tutorial Apache Flume: transmissió de dades de Twitter



Aquest blog de tutorial d’Apache Flume explica els fonaments d’Apache Flume i les seves característiques. També mostrarà la transmissió de Twitter mitjançant Apache Flume.

En aquest bloc de tutorial d’Apache Flume, entendrem com Flume ajuda a transmetre dades de diverses fonts. Abans, però, entenem la importància de la ingestió de dades. La ingestió de dades és el pas inicial i important per processar i analitzar les dades i després obtenir-ne valors empresarials. Hi ha diverses fonts a partir de les quals es recopilen dades en una organització.

Parlem d'una altra raó important per la qual Flume es va fer tan popular. Espero que us sigui familiar , que s’utilitza enormement a la indústria, ja que pot emmagatzemar tot tipus de dades. Flume es pot integrar fàcilment amb Hadoop i bolcar dades no estructurades i semiestructurades en HDFS, complementant la potència de Hadoop. És per això que Apache Flume és una part important de l’ecosistema Hadoop.





En aquest bloc de tutorial d’Apache Flume, tractarem:



Començarem aquest tutorial de Flume discutint sobre què és Apache Flume. Després, avançarem, comprendreem els avantatges d’utilitzar Flume.

Tutorial Apache Flume: Introducció a Apache Flume

Logotip dApache Flume és una eina per a la ingestió de dades en HDFS. Recopila, agrega i transporta una gran quantitat de dades en streaming, com ara fitxers de registre, esdeveniments de diverses fonts, com ara trànsit de xarxa, xarxes socials, missatges de correu electrònic, etc. a HDFS.Flume és un producte altament fiable i distribuït.

La idea principal darrere del disseny de Flume és capturar dades de transmissió de diversos servidors web a HDFS. Té una arquitectura senzilla i flexible basada en la transmissió de fluxos de dades. És tolerant a fallades i proporciona un mecanisme de fiabilitat per a la tolerància a fallades i la recuperació d’errors.



Després d’entendre què és Flume, ara anem a avançar en aquest bloc Tutorial de Flume i entenem els avantatges d’Apache Flume. Seguidament, mirarem l’arquitectura de Flume i intentarem entendre com funciona fonamentalment.

per a què serveix la programació sas

Tutorial d'Apache Flume: Avantatges d'Apache Flume

Hi ha diversos avantatges d'Apache Flume, que el converteix en una millor opció respecte d'altres. Els avantatges són:

  • Flume és escalable, fiable, tolerant a fallades i personalitzable per a diferents fonts i embornals.
  • Apache Flume pot emmagatzemar dades en botigues centralitzades (és a dir, les dades s’ofereixen des d’una botiga única) com HBase i HDFS.
  • Flume és escalable horitzontalment.
  • Si la velocitat de lectura supera la velocitat d’escriptura, Flume proporciona un flux constant de dades entre les operacions de lectura i escriptura.
  • Flume proporciona un enviament fiable de missatges. Les transaccions a Flume es basen en canals on es mantenen dues transaccions (un remitent i un receptor) per a cada missatge.
  • Mitjançant Flume, podem ingerir dades de diversos servidors a Hadoop.
  • Ens proporciona una solució fiable i distribuïda que ens ajuda a recopilar, agregar i moure una gran quantitat de conjunts de dades com Facebook, Twitter i llocs web de comerç electrònic.
  • Ens ajuda a ingerir dades de transmissió en línia de diverses fonts, com ara trànsit de xarxa, xarxes socials, missatges de correu electrònic, fitxers de registre, etc. en HDFS.
  • Admet un gran conjunt de tipus de fonts i destinacions.

L’arquitectura és la que proporciona a Apache Flume aquests avantatges. Ara, com sabem els avantatges d’Apache Flume, permetem avançar i entendre l’arquitectura d’Apache Flume.

Tutorial Apache Flume: Arquitectura Flume

Ara, entenem l’arquitectura de Flume a partir del diagrama següent:

Hi ha un agent Flume que ingereix les dades de transmissió de diverses fonts de dades a HDFS. Des del diagrama, podeu entendre fàcilment que el servidor web indica la font de dades. Twitter és una de les fonts famoses per transmetre dades.

L’agent de canals té 3 components: font, pica i canal.

    1. Font : Accepta les dades de la racionalització entrant i emmagatzema les dades al canal.
    2. Canal : En general, la velocitat de lectura és més ràpida que la velocitat d'escriptura. Per tant, necessitem una memòria intermèdia que coincideixi amb la diferència de velocitat de lectura i escriptura. Bàsicament, la memòria intermèdia actua com a emmagatzematge intermediari que emmagatzema les dades que es transfereixen temporalment i, per tant, evita la pèrdua de dades. De la mateixa manera, el canal actua com a emmagatzematge local o emmagatzematge temporal entre la font de dades i les dades persistents a l'HDFS.
    3. Aigüera : Aleshores, el nostre darrer component, és a dir, Sink, recopila les dades del canal i confia o escriu les dades al HDFS permanentment.

Ara, ja que sabem com funciona Apache Flume, donem una ullada a una pràctica en què enfonsarem les dades de Twitter i les guardarem a l’HDFS.

Tutorial Apache Flume: transmissió de dades de Twitter

En aquesta pràctica, reproduirem dades de Twitter mitjançant Flume i desarem les dades a HDFS tal com es mostra a la imatge següent.

El primer pas és crear una aplicació de Twitter. Per a això, primer heu d’anar a aquest URL: https://apps.twitter.com/ i inicieu la sessió al vostre compte de Twitter. Aneu a crear la pestanya de l'aplicació tal com es mostra a la imatge següent.

A continuació, creeu una aplicació tal com es mostra a la imatge següent.

Després de crear aquesta aplicació, trobareu el testimoni Key & Access. Copieu la clau i el testimoni d'accés. Passarem aquestes fitxes al nostre fitxer de configuració de Flume per connectar-nos a aquesta aplicació.

Ara creeu un fitxer flume.conf al directori arrel del flume tal com es mostra a la imatge següent. Com hem comentat, a Flume’s Architecture, configurarem la nostra font, dissipador i canal. La nostra font és Twitter, des d’on estem transmetent les dades i el nostre Sink és HDFS, on escrivim les dades.

A la configuració d'origen estem passant el tipus de font de Twitter com org.apache.flume.source.twitter.TwitterSource. Aleshores, passem les quatre fitxes que hem rebut de Twitter. Per fi, a la configuració d'origen, passem les paraules clau en què anem a buscar els tweets.

A la configuració de Sink, configurarem les propietats HDFS. Establirem la ruta HDFS, el format d’escriptura, el tipus de fitxer, la mida del lot, etc. Per fi establirem el canal de memòria tal com es mostra a la imatge següent.

Ara ja estem preparats per a l'execució. Anem endavant i executem aquesta ordre:

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

Després d’executar aquesta ordre durant un temps, podeu sortir del terminal amb CTRL + C. A continuació, podeu continuar al directori Hadoop i comprovar el camí esmentat, tant si el fitxer està creat com si no.

php mysql_fetch_

Descarregueu el fitxer i obriu-lo. Obtindreu alguna cosa com es mostra a la imatge següent.

Espero que aquest bloc us sigui informatiu i de valor afegit. Si esteu interessats en obtenir més informació, podeu fer-ho que us explica el Big Data i com Hadoop està resolent reptes relacionats amb el Big Data.

Ara que heu entès Apache Flume, consulteu el fitxer per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. El curs de formació en certificació Edureka Big Data Hadoop ajuda els estudiants a convertir-se en experts en HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume i Sqoop mitjançant casos d’ús en temps real en dominis Retail, Social Media, Aviació, Turisme, Finances

Tens alguna pregunta? Esmenta’l a la secció de comentaris i et respondrem.