Урок за Apache Flume: Поточно предаване на данни в Twitter



Този блог с уроци по Apache Flume обяснява основите на Apache Flume и неговите характеристики. Той също така ще покаже поточно предаване в Twitter с помощта на Apache Flume.

В този урок на Apache Flume ще разберем как Flume помага при поточно предаване на данни от различни източници. Но преди това нека да разберем важността на поглъщането на данни. Поглъщането на данни е първоначалната и важна стъпка, за да се обработят и анализират данните и след това да се извлекат бизнес стойности от тях. Има множество източници, от които се събират данни в дадена организация.

Нека поговорим за друга важна причина, поради която Flume стана толкова популярен. Надявам се да сте запознати , който се използва изключително много в индустрията, тъй като може да съхранява всякакви данни. Flume може лесно да се интегрира с Hadoop и да изхвърля неструктурирани, както и полуструктурирани данни на HDFS, допълвайки мощта на Hadoop. Ето защо Apache Flume е важна част от екосистемата Hadoop.





В този блог с уроци за Apache Flume ще разгледаме:



Ще започнем този урок за Flume, като обсъдим какво е Apache Flume. След това напред ще разберем предимствата на използването на Flume.

Урок за Apache Flume: Въведение в Apache Flume

Лого на Apache Flume - Урок за Apache Flume - EdurekaApache Flume е инструмент за поглъщане на данни в HDFS. Той събира, агрегира и транспортира голямо количество поточни данни като регистрационни файлове, събития от различни източници като мрежов трафик, социални медии, имейл съобщения и т.н. до HDFS.Flume е изключително надежден и разпространен.

Основната идея зад дизайна на Flume е да улавя поточни данни от различни уеб сървъри към HDFS. Той има проста и гъвкава архитектура, базирана на поточни потоци от данни. Той е устойчив на повреди и осигурява механизъм за надеждност за толерантност към повреди и възстановяване на повреди.



След като разбрахме какво е Flume, нека сега напреднем в този блог на Flume Tutorial и да разберем ползите от Apache Flume. След това ще продължим напред, ще разгледаме архитектурата на Flume и ще се опитаме да разберем как тя работи фундаментално.

какво прави разработчикът на ios

Урок за Apache Flume: Предимства на Apache Flume

Има няколко предимства на Apache Flume, което го прави по-добър избор пред останалите. Предимствата са:

  • Flume е мащабируема, надеждна, устойчива на грешки и може да се персонализира за различни източници и мивки.
  • Apache Flume може да съхранява данни в централизирани магазини (т.е. данните се доставят от един магазин) като HBase и HDFS.
  • Flume е мащабируемо хоризонтално.
  • Ако скоростта на четене надвишава скоростта на запис, Flume осигурява постоянен поток от данни между операциите за четене и запис.
  • Flume осигурява надеждна доставка на съобщения. Транзакциите в Flume се базират на канали, като за всяко съобщение се поддържат две транзакции (един подател и един получател).
  • Използвайки Flume, можем да погълнем данни от множество сървъри в Hadoop.
  • Това ни дава решение, което е надеждно и разпространено и ни помага при събирането, обобщаването и преместването на голямо количество набори от данни като уебсайтове на Facebook, Twitter и електронна търговия.
  • Помага ни да поглъщаме онлайн поточни данни от различни източници като мрежов трафик, социални медии, имейл съобщения, регистрационни файлове и т.н. в HDFS.
  • Той поддържа голям набор от източници и типове дестинации.

Архитектурата дава възможност на Apache Flume с тези предимства. Сега, тъй като знаем предимствата на Apache Flume, нека да продължим напред и да разберем архитектурата на Apache Flume.

Урок за Apache Flume: Архитектура на Flume

Сега нека разберем архитектурата на Flume от диаграмата по-долу:

Има агент на Flume, който поглъща поточните данни от различни източници на данни към HDFS. От диаграмата можете лесно да разберете, че уеб сървърът посочва източника на данни. Twitter е сред един от известните източници за поточно предаване на данни.

Флуидният агент има 3 компонента: източник, мивка и канал.

    1. Източник : Приема данните от входящата рационализация и съхранява данните в канала.
    2. Канал : Като цяло скоростта на четене е по-бърза от скоростта на запис. По този начин се нуждаем от буфер, който да съответства на разликата в скоростта на четене и запис. По принцип буферът действа като посредническо хранилище, което съхранява временно прехвърляните данни и следователно предотвратява загубата на данни. По същия начин каналът действа като локално хранилище или като временно хранилище между източника на данни и постоянните данни в HDFS.
    3. Мивка : След това, нашият последен компонент, т.е. Sink, събира данните от канала и фиксира или записва данните в HDFS за постоянно.

Сега, след като знаем как работи Apache Flume, нека да разгледаме практически, където ще потапяме данните в Twitter и ще ги съхраняваме в HDFS.

Урок за Apache Flume: Поточно предаване на данни в Twitter

В тази практическа задача ще предаваме данни от Twitter, използвайки Flume и след това ще ги съхраняваме в HDFS, както е показано на изображението по-долу.

Първата стъпка е да създадете приложение в Twitter. За това първо трябва да отидете на този url: https://apps.twitter.com/ и влезте във вашия акаунт в Twitter. Отидете да създадете раздел на приложението, както е показано на изображението по-долу.

След това създайте приложение, както е показано на изображението по-долу.

След създаването на това приложение ще намерите токена Key & Access. Копирайте ключа и маркера за достъп. Ще предадем тези символи в нашия конфигурационен файл на Flume, за да се свържем с това приложение.

Сега създайте файл flume.conf в основната директория на flume, както е показано на изображението по-долу. Както обсъдихме, в архитектурата на Flume’s ще конфигурираме нашите източник, мивка и канал. Нашият източник е Twitter, откъдето предаваме поточно данните, а нашата мивка е HDFS, където записваме данните.

В конфигурацията на източника предаваме типа източник на Twitter като org.apache.flume.source.twitter.TwitterSource. След това предаваме всичките четири токена, които получихме от Twitter. Най-накрая в конфигурацията на източника предаваме ключовите думи, за които ще извлечем туитовете.

В конфигурацията на мивката ще конфигурираме HDFS свойства. Ще зададем HDFS път, формат на запис, тип файл, размер на партидата и т.н. Накрая ще зададем канал на паметта, както е показано на изображението по-долу.

Сега всички сме готови за изпълнение. Нека да продължим и да изпълним тази команда:

$ FLUME_HOME / bin / flume-ng агент --conf ./conf/ -f $ FLUME_HOME / flume.conf

След като изпълните тази команда за известно време и след това можете да излезете от терминала, използвайки CTRL + C. След това можете да продължите в директорията на Hadoop и да проверите споменатия път, независимо дали файлът е създаден или не.

намери най-голямото число в масив

Изтеглете файла и го отворете. Ще получите нещо, както е показано на изображението по-долу.

Надявам се, че този блог е информативен и с добавена стойност за вас. Ако се интересувате да научите повече, можете да преминете през това което ви разказва за големите данни и как Hadoop решава предизвикателства, свързани с големите данни.

След като разбрахте Apache Flume, разгледайте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение по сертифициране на големи данни Hadoop на Edureka помага на обучаващите се да станат експерти в HDFS, прежди, MapReduce, Pig, Hive, HBase, Oozie, Flume и Sqoop, като използват случаи в реално време за търговия на дребно, социални медии, авиация, туризъм, финанси.

Имате въпрос към нас? Моля, споменете го в раздела за коментари и ние ще се свържем с вас.