hadoop mapreduce tutorial with examples what is mapreduce
У овом упутству ћемо разумети шта је МапРедуце, његове предности и како Хадооп Мап Редуце ради са примерима:
У претходном водичу сазнали смо о Хадооп ХДФС-у и механизмима читања и писања. Сада ћемо истражити још једну компоненту Хадооп, тј. МапРедуце.
Размотримо детаљно следеће:
- Шта је МапРедуце?
- Његове предности
- Који је тачан приступ МапРедуце-а?
=> Посетите овде за ексклузивну серију водича за обуку за БигДата.
Шта ћете научити:
Шта је МапРедуце?
Кренимо даље и започнимо са Хадооп Цомпонентс. Као што је раније објашњено, постоје две главне компоненте Хадооп-а, тј. Хадооп ХДФС и Хадооп Мап Редуце.
Хадооп ХДФС је систем за дистрибуцију датотека који се користи за складиштење огромне количине података у више носача.
Овде ћемо разговарати о јединици за обраду Хадооп-а, тј. МапРедуце.
Следеће питање које се поставља је „шта је Мап Редуце и зашто је потребно?“
Хадооп МапРедуце је „Јединица за обраду“ и помоћу ове компоненте можемо да обрађујемо велике податке ускладиштене на Хадооп ХДФС.
Али шта је тачно захтев? Зашто нам је потребна ова компонента Хадоопа?
Велики подаци који се чувају на Хадооп ХДФС-у се традиционално не чувају. Подаци се деле на делове података ускладиштене у одговарајућим ДатаНодес-има. Дакле, целокупни подаци се не чувају на једном централизованом месту.
Отуда изворна клијентска апликација попут Јава или било које такве апликације не може да обрађује податке у тренутном формату и потребан нам је посебан оквир који може да обрађује фрагментиране блокове података ускладиштене у одговарајућим ДатаНодес.
Обрада се врши помоћу обраде Хадооп МапРедуце.
Умањивање мапе у малом
Горњи дијаграм даје преглед Мап Редуце, његових карактеристика и употребе.
Почнимо са апликацијама МапРедуце и где се користи. На пример, користи се за Класификатори, индексирање и претраживање , и Стварање Мотори за препоруке на сајтовима за е-трговину (Флипкарт, Амазон итд.) Такође се користи као Аналитика неколико компанија.
Када гледамо из перспективе карактеристика, то је Модел програмирања и може се користити за Дистрибуирано у великим размерама Модел попут Хадооп ХДФС-а и има могућност паралелног програмирања што га чини веома корисним.
Када видимо функције у Мап Редуце, извршавају се две функције, тј. Мап Фунцтион и Редуце.
Ову технологију су примениле велике организације попут Гоогле-а, Иахоо-а, Фацебоок-а, а такође је прихватио Апацхе Хадооп попут ХДФС-а, ПИГ-а, ХИВЕ-а и за складиштење података или извршавање и обраду великих података користећи ХБасе који је познат и као Но-СКЛ.
Предности смањења мапе
Постоје две предности ове технологије.
# 1) Паралелна обрада
Прва предност је паралелна обрада. Коришћење Мап Редуце увек можемо паралелно обрађивати податке.
Према горњем дијаграму, постоји пет подређених машина и неки подаци се налазе на овим машинама. Овде се подаци паралелно обрађују помоћу Хадооп Мап Редуце и тако обрада постаје брза.
Заправо, овде се дешава да се читав део података Хадооп ХДФС подели на ХДФС блок и Мап-Редуце обради те делове података и тако обрада постаје брза.
# 2) Локација података
Ово је једна свестрана ствар коју даје Хадооп МапРедуце, тј. Можемо обрађивати податке тамо где јесу.
Шта то значи?
У претходном водичу за ХДФС схватили смо да се подаци које смо преселили у Хадооп кластер деле на ХДФС блокове и ти блокови се чувају у СлавеМацхинес или ДатаНодес. Мап-Редуце препознаје обраду и логику до одговарајућих подређених чворова или чворова података у којима се подаци налазе као ХДФС блокови.
Обрада се врши на мањем делу података на више локација паралелно. Ово штеди много времена, као и пропусност мреже која је потребна за премештање великих података са једне локације на другу.
Сјетите се само да су подаци које обрађујемо Биг Дата разбијени на дијелове, а ако почнемо премјештати велике податке директно кроз додијељене мрежне канале у централизирану машину и обрађивати их, тада нам неће донијети никакву предност јер ћемо трошити читав пропусни опсег у премештању података на централизовани сервер.
Предности:
Дакле, користећи Хадооп МапРедуце не радимо само „Паралелна обрада“ , такође обрађујемо податке на одговарајуће подређене чворове или чворове података где су присутни делови података, па смо и ми „Уштеда великог мрежног опсега“ што је врло корисно.
Напокон, СлавеМацхинес завршавају са обрадом података ускладиштених на СлавеМацхинес-у и они враћају резултате на Мастер Мацхине јер резултати нису толико велики као блокови који су били ускладиштени на СлавеМацхинес-у. Стога неће користити пуно пропусног опсега.
Подређене машине шаљу резултат натраг главној машини, ти резултати се обједињују, а коначни резултат се враћа на клијентску машину која је предала посао.
Овде се поставља једно питање - ко одлучује које податке треба обрађивати на којем ДатаНоде-у?
Клијент предаје посао менаџеру ресурса, а менаџер ресурса је тај који даје упутства за извршавање посла на одговарајућим ДатаНодес-има у којима се подаци налазе, а он одлучује на основу најближег ДатаНоде-а који је доступан тако да пуно Мреже Пропусни опсег се не користи.
Традиционални вс. МапРедуце Ваи
Да бисмо то објаснили, узећемо стварну аналогију броја пријава осигураника код осигуравајућих друштава, сви би били свесни смерница осигуравајућих друштава, јер већина великих осигуравајућих друштава има своје подружнице у разним градовима.
У тим филијалама постоји „н“ број људи који су се пријавили за политике животног осигурања.
Узмимо сценарио у којем имамо пет филијала осигуравајућих друштава у које људи долазе и пријављују се за политике животног осигурања. Сада имамо и седиште те осигуравајуће компаније које има све информације о филијалама које су доступне и смештене.
Међутим, када људи дођу и пријаве се за полисе животног осигурања у одговарајућим филијалама А, Б, Ц, Д, Е, пријаве за полисе се чувају у одговарајућим филијалама и те информације се не деле са седиштем осигуравајућег друштва.
Традиционални начин:
Погледајмо како се људи традиционално пријављују за смернице. Да би се традиционално решио овај проблем, све пријаве ће бити премештене у седиште осигуравајућег друштва, а затим ће започети поступак пријаве.
У овом случају, морамо да преместимо све пријаве у седиште осигуравајућег друштва, што је скупа ствар, тј. Морамо да прикупимо све пријаве из филијала осигуравајућег друштва и однесемо их у седиште осигуравајућег друштва.
На овај начин су укључени трошкови, заједно са огромним напорима у обављању ове активности.
најбољи бесплатни алат за поправку система Виндовс 7
Други аспект овога је преоптерећено седиште осигуравајуће компаније, јер мора да обради све пријаве које су људи поднели за полисе у одговарајућим филијалама.
Како осигуравајуће друштво обрађује пријаве које су пријављене у свим филијалама, то ће потрајати дуго. На крају, овај процес не функционише баш најбоље.
МапРедуце Ваи
Погледајмо како Мап-Редуце решава овај проблем.
МапРедуце прати Локацију података, тј. Неће доносити све пријаве у седиште осигуравајућег друштва, већ ће паралелно обављати обраду пријава у одговарајућим филијалама.
Када се пријаве које су примењене у свакој филијали обраде, обрађене детаље шаљу у седиште осигуравајућег друштва.
Сада седиште компаније за осигурање мора само да прикупи број обрађених захтева који су послати из одговарајућих филијала и да чува детаље у својој бази података или центру за складиштење.
На овај начин, обрада ће бити врло лака и брза, а носиоци полисе у кратком року добијају погодности.
како уклонити елементе из низа јава
Карта детаљно смањите
У нашем претходном примеру имали смо улаз (апликације) који су дистрибуирани међу различитим гранама и сваки унос је обрађивао одговарајућа функција мапе.
Знамо да МапРедуце има две функције, тј. Функцију карте и функцију смањења.
Део обраде који је урађен на одговарајућим гранама извршила је функција мапе. Дакле, сваки унос (апликација) у свакој грани је обрађен помоћу функције Мап, након тога су обрађени детаљи послати у седиште осигуравајућег друштва, а део агрегације врши функција смањења.
Збирни обрађени детаљи апликације дати су као излаз.
То се догодило у нашем претходном примеру. Читав процес је подељен на Задатак мапе и Задатак смањења.
Задатак мапе добија улаз, а излаз задатка мапе даје се редуцираном задатку као улаз, а овај задатак смањења даје излаз коначно клијенту.
Да бисмо то боље разумели, прођимо кроз анатомију МапРедуце-а.
Задатак МапРедуце ради на пару кључ / вредност, па када говоримо о мапи, мапа узима улаз као кључ / вредност и даје излаз као листу кључ / вредност. Ова листа кључ-вредност пролази кроз фазу мешања, а унос кључа и листе вредности отишао је на редуктор.
На крају, редуктор нам даје листу парова кључ / вредност.
Пример МапРедуце - Процес пребројавања речи
Узмимо још један пример, тј. Бројање речи обрадите на начин МапРедуце. Овај пример је исти као и уводни пример Јава програмирања, тј. „Хелло Ворлд“.
Према дијаграму, имали смо улаз и овај улаз се дели или дели на различите улазе. Дакле, овај процес се назива раздвајање уноса и цео унос се дели на поделе података на основу новог знака реда.
Први ред је први улаз тј. Бигдата Хадооп МапРедуце , други ред је други улаз тј. МапРедуце Хиве Бигдата , слично, за трећи улаз је Хивеоп Хадооп Хиве МапРедуце .
Пређимо на следећу фазу, тј. На фазу мапирања. Сада у фази мапирања креирамо листу парова кључ / вредност. Дакле, улаз је кључ и вредност, овде кључ није ништа друго до померање броја реда. Број линије је кључ, а цела линија вредност.
Дакле, за линију 1 офсет је Кључ, а Вредност је Бигдата Хадооп МапРедуце . У стварном животу број линије или помак је хексадецимални број, међутим, да бисмо то олакшали, сматраћемо га само бројем 1 или 2.
Дакле, линија 1 ће бити кључ, а цела линија вредност. Када пролази кроз функцију мапирања, оно што ће мапирање урадити је да ће створити листу парова кључ / вредност. На пример, Велики података , па ће функција урадити, прочитаће сваку реч у реду и означиће једну (1) иза зареза.
Означиће један (1) као вредност; као Бигдата, 1 Хадооп, 1 и МапРедуце, 1 . Овде се поставља питање зашто након сваке речи стављамо по један (1)?
То је зато што Велики података је један број тако Бигдата, 1 . Слично томе, Хадооп, 1 и МапРедуце, 1 имају један број, зато један (1) означавамо као вредност. На исти начин за други ред или рецимо ред 2 имамо, МапРедуце Хиве Бигдата .
Дакле, на исти начин, функција мапирања поново креира листу парова кључ / вредност за њу и према томе, према бројању, листа парова кључ / вредност биће МапРедуце, 1 кошница, 1 и Бигдата, 1 .
Исто ћемо добити као резултат функције мапирања за ред 3 тј. Кошница, 2 Хадооп, 1 и МапРедуце, 1 .
Пређимо на фазу мешања, у овој фази за сваки кључ постоји припремљена листа. Фаза мешања наћи ће изглед Кеи-а Велики података и додаће вредности на листу. Па да видимо шта се овде дешава.
Као што видимо две долазне стрелице, прва стрелица долази са листе 1, а друга стрелица са листе 2, тако да ће резултат бити Бигдата, (1,1) .
Слично томе, када видимо реч Хадооп , опет за Хадооп за Вредности ће бити припремљена друга листа. Као што видимо две долазне стрелице показују на мешање што значи реч Хадооп ће се преузети са листе 2 односно са листе 3, тј. коначни резултат након мешања биће Хадооп, (1, 1) .
На исти начин ћемо добити и остале речи попут Кошница, (1, 1, 1) и МапРедуце, (1, 1, 1) заједно са њиховом листом вредности или реците листу Цоунт према доступности речи на одговарајућим листама.
Сада дођите до фазе смањења, у овој фази започињемо агрегирање вредности које су биле присутне на листи према сваком кључу. Па за Велики података, на списку су биле присутне две вредности тј. (Једанаест) тако ће се предаја ових вредности извршити тако Бигдата, 2 .
Слично томе, за Хадооп вредност ће бити збир тј. (Једанаест) поднесак ће бити Хадооп, 2 .
На исти начин за Кошница и Карта смањити, поднесак за функцију смањења биће Кошница, 3 и МапРедуце, 3 редом.
Коначно, коначни резултат ће се послати назад клијенту, као што је приказано на доњем дијаграму „Укупног процеса МапРедуце Ворд Цоунт“
Укупни процес МапРедуце Ворд Цоунт
Тако функционише читав процес пребројавања речи када користите МапРедуце Ваи.
Закључак
У овом упутству научили смо следеће:
- Хадооп Мап Редуце је „Јединица за обраду“ од Хадооп-а.
- За обраду великих података које чува Хадооп ХДФС користимо Хадооп Мап Редуце.
- Користи се у претраживању и индексирању, класификацији, препорукама и аналитици.
- Има функције као што су Программинг Модел, Паралелно програмирање и Ларге Сцале Дистрибутед Модел.
- Дизајнирање обрасца МапРедуце су: Резимирање, класификација најбољих записа, сортирање и аналитика попут Придруживање и одабир.
- Има само две функције тј. Маппер функција и функција редуктора.
- Паралелна обрада и локација података су добре предности Хадооп МапРедуце-а.
- Процес МапРедуце-а подељен је у шест фаза, тј. УЛАЗ, ПОДЕЛА, КАРТИРАЊЕ, МЕЊАЊЕ, СМАЊЕЊЕ И КОНАЧНИ РЕЗУЛТАТ.
То је све за овај водич, у нашим наредним водичима ћемо обрадити:
- Како МапРедуце ради са предивом и његовим компонентама?
- Ток рада пређе.
- Шта је Спарк и која је разлика између Хадооп-а и Спарк-а?
=> Овде погледајте СВЕ водиче за БигДата.
Препоручено читање
- Шта је Хадооп? Водич за Апацхе Хадооп за почетнике
- Питхон ДатеТиме Водич са примерима
- Дата Март Туториал - Врсте, примери и примена Дата Март
- Димензионални модел података у складишту података - Водич са примерима
- Водич за дужину Јава низа са примерима кода
- Водич за велике податке за почетнике | Шта су велики подаци?
- Водич за скрипте за Уник Схелл са примерима
- Водич за текст помоћу примера у тексту за проналажење селена