Въведение в Hadoop компоненти

Компонентите на Hadoop са предимно HDFS, намаляване на картата, прежда. Днес живеем в дигитална епоха, в която скоростта на производство на данни е много висока приблизително, ние произвеждаме 2, 5 квинтилиона данни на ден. Въпреки че капацитетът за съхранение на дисковете се увеличава, но скоростта на търсене не се е увеличила за този обем данни. За да преодолеем това, трябва да четем паралелно данните, за да постигнем това в Hadoop имаме HDFS (разпределена файлова система Hadoop), където наборите от данни се съхраняват като блокове в HDFS (за повече подробности вижте раздел HDFS), за да четем паралелно данните и да постигнем по-висока скорост на обработка. Обработката на данни се извършва за получаване или прогнозиране на някаква значима информация или за получаване на някои тенденции или модели. Процесът на MapReduce се използва за постигане на желаната информация. Карта и редуциране са двете различни фази на обработка на данни.

Основни компоненти на Hadoop

Основните компоненти на Hadoop са описани по-долу:

1. Разпределена файлова система Hadoop (HDFS)

HDFS е слоят за съхранение на Big Data, той е съвкупност от много машини, съхранените данни могат да се използват за обработка с помощта на Hadoop. След като данните бъдат изтласкани към HDFS, можем да ги обработим по всяко време, докато времето, което обработваме, ще остане в HDFS, докато не изтрием файловете ръчно. HDFS съхранява данните като блок, минималният размер на блока е 128MB в Hadoop 2.x, а за 1.x е 64MB. HDFS репликира блоковете за наличните данни, ако данните се съхраняват в една машина и ако машината не успее, данните не се губят, но за да се избегнат такива, данните се репликират на различни машини. Коефициентът на репликация по подразбиране е 3 и можем да променим в HDFS-site.xml или използвайки командата Hadoop fs -strep -w 3 / dir, като репликираме имаме блоковете на различни машини за висока наличност.
HDFS е архитектура master-slave, това е NameNode като master и Data Node като подчинен. NameNode е машината, на която се съхраняват всички метаданни на всички блокове, съхранявани в DataNode.

2. Прежда

Преждата беше въведена в Hadoop 2.x, преди това Hadoop имаше JobTracker за управление на ресурсите. Job Tracker беше господарят и той имаше Track Task като роб. Job Tracker е този, който се грижеше за планирането на работните места и разпределението на ресурсите. Функцията за проследяване на задачи се грижеше за задачите на Карта и Намаляване и състоянието се актуализира периодично за Проследяване на работа. With е тип мениджър на ресурси, той имаше ограничение за мащабируемост и едновременното изпълнение на задачите също имаше ограничение. Тези въпроси бяха разгледани в YARN и той се погрижи за разпределението на ресурсите и планирането на работни места в клъстер. Изпълнение на карта Намалете ресурсите за работа в клъстер, за да получите ресурсите, разпределени за задачата. ПРЕЖДА определя коя работа се извършва и на коя машина се извършва. Тя има цялата информация за наличните ядра и памет в клъстера, проследява потреблението на памет в клъстера. Той взаимодейства с NameNode относно данните, където пребивава, за да вземе решение за разпределението на ресурса.

3. MapReduce

Екосистемата Hadoop е рентабилен, мащабируем и гъвкав начин за работа с такива големи набори от данни. Hadoop е рамка, която използва конкретен модел на програмиране, наречен MapReduce, за разбиване на изчислителни задачи в блокове, които могат да бъдат разпределени около клъстер от стокови машини, използвайки Hadoop Distributed Filesystem (HDFS).

MapReduce е две различни задачи Map and Reduce, Map предхожда фазата на редуктора. Както подсказва името, Фаза на картата картографира данните в двойки ключ-стойност, тъй като всички знаем, че Hadoop използва ключови стойности за обработка. Фазата на редуктора е фазата, в която имаме действителната логика, която трябва да бъде приложена. Освен тези две фази, той също така изпълнява фаза на разбъркване и сортиране.

1. Картограф

Mapper е класът, в който входният файл се преобразува в двойка ключове и стойности за по-нататъшна обработка. Докато четете данните, той се чете в ключови стойности, само когато ключът е компенсиран от бита и стойността е целият запис.

Например имаме файл Diary.txt, в който имаме два реда, т.е. два записа.

Това е един прекрасен ден, на който трябва да се наслаждаваме тук, компенсирането за 't' е 0, а за 'w' е 33 (белите празни пространства също се считат за символ), така че картографирането ще прочете данните като двойка ключ-стойност, като (ключ, стойност), (0, това е прекрасен ден), (33, трябва да се наслаждаваме)

2. Редуктор

Редуктор е класът, който приема ключове и стойности от изхода на фазата на картографите. Ключовете и стойностите, генерирани от картографиране, се приемат като вход в редуктор за по-нататъшна обработка. Редуктор приема данни от множество картографи. Редукторът агрегира тези междинни данни до намален брой ключове и стойности, което е крайният изход, ще видим това в примера.

3. Шофьор

Освен клас mapper и reducer, имаме нужда от още един клас, който е клас Driver. Този код е необходим за MapReduce, тъй като е мостът между реализираната рамка и логика. Той определя конфигурацията, пътя на входните данни, пътя за съхранение на изход и най-важното кои класове на картографиране и редуктор трябва да бъдат приложени, както и много други конфигурации, зададени в този клас. например в класа на драйвери, можем да определим разделителя за изходния файл, както е показано в класа на драйвери от примера по-долу.

пример

Помислете, че имаме набор от данни на туристическа агенция, сега трябва да изчислим от данните, колко души избират да пътуват до определена дестинация. За да постигнем това, ще трябва да вземем дестинацията като ключова и за броенето, ще приемем стойността като 1. Така че, във фазата на картографиране, ще направим картографиране на дестинация до стойност 1. Сега в разбъркване и сортиране фаза след картографирането, тя ще картографира всички стойности на определен ключ. Например, ако имаме дестинация като MAA, сме картографирали 1 също имаме 2 събития след разбъркване и сортиране, ще получим MAA, (1, 1), където (1, 1) е стойността. Сега във фазата на редуктора вече имаме реализирана логика във фазата на редуктора, за да добавим стойностите, за да получим общия брой на резервираните билети за местоназначението. Това е потокът на MapReduce.

По-долу е екранна снимка на реализираната програма за горния пример.

1. Клас на водача

2. Клас на картографиране

3. Клас на редуктори

Изпълнение на Hadoop

За изпълнение на Hadoop първо трябва да изградим буркана и след това можем да изпълним с помощта на командата по-долу Hadoop jar eample.jar /input.txt /output.txt

заключение

Тук сме обсъдили основните компоненти на Hadoop като HDFS, Map Reduce и YARN. Това е разпределена клъстерна изчислителна рамка, която помага да се съхраняват и обработват данните и да се направи необходимия анализ на заснетите данни. Hadoop е гъвкав, надежден по отношение на данните, тъй като данните се копират и мащабират, т.е. можем да добавим повече машини към клъстера за съхранение и обработка на данни.

Препоръчителни статии

Това е ръководство за Hadoop Components. Тук обсъдихме основните примери на Hadoop с примери. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Въведение в JDBC архитектурата
  2. Какво е клъстер Hadoop?
  3. Какво представлява MapReduce в Hadoop?
  4. Какво е Big data и Hadoop
  5. Hadoop fs Команди

Категория: