Уводни водич за МапРедуце у великим подацима

МапРедуце нуди ефикасан, бржи и исплатив начин креирања апликација.

Овај модел користи напредне концепте као што су паралелна обрада, локализација података, итд., како би пружио много предности програмерима и организацијама.

Али на тржишту постоји толико много модела и оквира програмирања да постаје тешко изабрати.

А када су у питању велики подаци, не можете једноставно да изаберете било шта. Морате изабрати такве технологије које могу да обрађују велике комаде података.

МапРедуце је одлично решење за то.

У овом чланку ћу разговарати о томе шта је МапРедуце заиста и како може бити од користи.

Почнимо!

Шта је МапРедуце?

МапРедуце је програмски модел или софтверски оквир у оквиру Апацхе Хадооп оквира. Користи се за креирање апликација способних да обрађују огромне податке паралелно на хиљадама чворова (званих кластери или мреже) са толеранцијом грешака и поузданошћу.

Ова обрада података се дешава у бази података или систему датотека где се подаци чувају. МапРедуце може да ради са Хадооп системом датотека (ХДФС) за приступ и управљање великим количинама података.

Овај оквир је увео Гоогле 2004. године, а популаризира га Апацхе Хадооп. То је слој за обраду или механизам у Хадооп-у који покреће МапРедуце програме развијене на различитим језицима, укључујући Јава, Ц++, Питхон и Руби.

Програми МапРедуце у рачунарству у облаку раде паралелно, тако да су погодни за обављање анализе података у великим размерама.

МапРедуце има за циљ да подели задатак на мање, више задатака користећи функције „мапа“ и „редуце“. Он ће мапирати сваки задатак, а затим га свести на неколико еквивалентних задатака, што резултира мањом процесорском снагом и додатним оптерећењем на мрежи кластера.

Пример: Претпоставимо да припремате оброк за кућу пуну гостију. Дакле, ако покушате да припремите сва јела и урадите све процесе сами, то ће постати ужурбано и дуготрајно.

Али претпоставимо да укључите неке своје пријатеље или колеге (не госте) да вам помогну да припремите оброк тако што ћете поделити различите процесе другој особи која може да обавља задатке истовремено. У том случају ћете брже и лакше припремити оброк док су гости још у кући.

МапРедуце ради на сличан начин са дистрибуираним задацима и паралелном обрадом како би се омогућио бржи и лакши начин за довршење датог задатка.

Апацхе Хадооп омогућава програмерима да користе МапРедуце за извршавање модела на великим дистрибуираним скуповима података и користе напредно машинско учење и статистичке технике за проналажење образаца, предвиђања, уочавање корелација и још много тога.

Карактеристике МапРедуце-а

Неке од главних карактеристика МапРедуце-а су:

  • Кориснички интерфејс: Добићете интуитиван кориснички интерфејс који пружа разумне детаље о сваком аспекту оквира. Помоћи ће вам да неприметно конфигуришете, примените и подесите своје задатке.

  • Корисно оптерећење: Апликације користе интерфејсе Маппер и Редуцер да би омогућиле мапу и смањиле функције. Маппер пресликава улазне парове кључ-вредност у средње парове кључ-вредност. Редуктор се користи за смањење средњих парова кључ-вредност који деле кључ на друге мање вредности. Обавља три функције – сортирање, мешање и смањење.
  • Партиционер: Он контролише поделу средњих кључева за излаз карте.
  • Репортер: То је функција за извештавање о напретку, ажурирање бројача и постављање статусних порука.
  • Бројачи: Представља глобалне бројаче које дефинише МапРедуце апликација.
  • ОутпутЦоллецтор: Ова функција прикупља излазне податке из Маппер-а или Редуцер-а уместо средњих излаза.
  • РецордВритер: Записује излазне податке или парове кључ-вредност у излазну датотеку.
  • ДистрибутедЦацхе: Ефикасно дистрибуира веће датотеке само за читање које су специфичне за апликацију.
  • Компресија података: Писац апликације може компримовати и излазе посла и излазе средње мапе.
  • Прескакање лошег записа: Можете прескочити неколико лоших записа док обрађујете уносе на мапи. Ова функција се може контролисати преко класе – СкипБадРецордс.
  • Отклањање грешака: Добићете опцију да покренете кориснички дефинисане скрипте и омогућите отклањање грешака. Ако задатак у МапРедуце не успе, можете покренути скрипту за отклањање грешака и пронаћи проблеме.
  Најбољи начини за приказивање НФТ-а у вашем дому

МапРедуце Арцхитецтуре

Хајде да разумемо архитектуру МапРедуце-а тако што ћемо дубље ући у његове компоненте:

  • Посао: Посао у МапРедуце-у је стварни задатак који МапРедуце клијент жели да изврши. Састоји се од неколико мањих задатака који се комбинују у коначни задатак.
  • Сервер историје послова: То је демон процес за складиштење и чување свих историјских података о апликацији или задатку, као што су евиденције генерисане након или пре извршавања посла.
  • Клијент: Клијент (програм или АПИ) доноси посао у МапРедуце за извршење или обраду. У МапРедуце-у, један или више клијената може континуирано слати послове МапРедуце Манагер-у на обраду.
  • МапРедуце Мастер: МапРедуце Мастер дели посао на неколико мањих делова, обезбеђујући да задаци напредују истовремено.
  • Делови посла: Под-послови или делови посла се добијају поделом примарног посла. На њима се ради и коначно се комбинују да би се створио коначни задатак.
  • Улазни подаци: То је скуп података који се шаље у МапРедуце за обраду задатака.
  • Излазни подаци: То је коначни резултат добијен када се задатак обради.

Дакле, оно што се заиста дешава у овој архитектури је да клијент преда посао МапРедуце Мастер-у, који га дели на мање, једнаке делове. Ово омогућава бржу обраду посла јер је за обраду мањих задатака потребно мање времена уместо већих задатака.

Међутим, уверите се да задаци нису подељени на премале задатке јер ако то урадите, можда ћете морати да се суочите са већим трошковима управљања поделама и губите значајно време на то.

Затим се делови посла стављају на располагање да би се наставило са задацима Мапе и Редуце. Штавише, задаци Мапе и Редуце имају одговарајући програм заснован на случају употребе на којем тим ради. Програмер развија код заснован на логици да испуни захтеве.

Након тога, улазни подаци се уносе у задатак мапе тако да мапа може брзо да генерише излаз као пар кључ-вредност. Уместо чувања ових података на ХДФС, локални диск се користи за складиштење података како би се елиминисала могућност репликације.

Када је задатак завршен, можете бацити излаз. Дакле, репликација ће постати претерана када сачувате излаз на ХДФС. Излаз сваког задатка мапе ће бити послат задатку смањења, а излаз мапе ће бити обезбеђен машини која ради задатак смањења.

Затим, излаз ће бити спојен и прослеђен функцији редукције коју дефинише корисник. Коначно, смањени излаз ће бити сачуван на ХДФС.

Штавише, процес може имати неколико задатака Мап анд Редуце за обраду података у зависности од крајњег циља. Алгоритми Мапе и Редуце су оптимизовани да би временска или просторна сложеност била минимална.

Пошто МапРедуце првенствено укључује задатке Мапе и Редуце, ​​важно је разумети више о њима. Дакле, хајде да разговарамо о фазама МапРедуце-а да бисмо добили јасну представу о овим темама.

Фазе МапРедуце-а

Мапа

Улазни подаци се мапирају у излазне или парове кључ-вредност у овој фази. Овде се кључ може односити на ИД адресе, док вредност може бити стварна вредност те адресе.

  Како да комбинујете све своје библиотеке игара за рачунар са ГОГ Галаки-ом

У овој фази постоје само један али два задатка – раздвајање и мапирање. Подела значи подделове или делове посла који су подељени од главног посла. Они се такође називају поделама улаза. Дакле, улазни сплит се може назвати улазним комадом који користи мапа.

Затим се одвија задатак мапирања. Сматра се првом фазом приликом извршавања програма за смањење мапе. Овде ће подаци садржани у сваком раздвајању бити прослеђени функцији мапе да обради и генерише излаз.

Функција – Мап() се извршава у меморијском спремишту на улазним паровима кључ-вредност, генеришући средњи пар кључ-вредност. Овај нови пар кључ/вредност ће радити као улаз који ће се убацити у функцију Редуце() или Редуцер.

Смањите

Средњи парови кључ-вредност добијени у фази мапирања раде као улаз за функцију Редуце или Редуцер. Слично фази мапирања, укључена су два задатка – мешање и смањење.

Дакле, добијени парови кључ-вредност се сортирају и измешају да би се унели у Редуцер. Затим, Редуцер групише или агрегира податке према свом пару кључ/вредност на основу алгоритма редуктора који је написао програмер.

Овде се вредности из фазе мешања комбинују да би се вратила излазна вредност. Ова фаза сумира цео скуп података.

Сада, комплетан процес извршавања задатака Мапе и Редуце контролишу неки ентитети. Су:

  • Јоб Трацкер: Једноставним речима, програм за праћење послова делује као мајстор који је одговоран за потпуно извршење послатог посла. Праћење послова управља свим пословима и ресурсима у кластеру. Поред тога, програм за праћење послова планира сваку мапу додату у Таск Трацкер која ради на одређеном чвору података.
  • Вишеструки уређаји за праћење задатака: Једноставним речима, вишеструки уређаји за праћење задатака раде као робови који обављају задатак пратећи упутства Јоб Трацкер-а. Праћеч задатака је распоређен на сваком чвору посебно у кластеру који извршава задатке Мапе и Редуце.

Ради јер ће посао бити подељен на неколико задатака који ће се изводити на различитим чворовима података из кластера. Јоб Трацкер је одговоран за координацију задатка тако што планира задатке и покреће их на више чворова података. Затим, Таск Трацкер који се налази на сваком чвору података извршава делове посла и води рачуна о сваком задатку.

Штавише, Таск Трацкери шаљу извештаје о напретку у праћење послова. Такође, Таск Трацкер периодично шаље сигнал „откуцаја срца“ на Јоб Трацкер и обавештава их о статусу система. У случају било каквог квара, програм за праћење послова може да поново закаже посао на другом алату за праћење задатака.

Излазна фаза: Када достигнете ову фазу, имаћете коначне парове кључ-вредност генерисане из Редуцер-а. Можете да користите излазни форматер да преведете парове кључ-вредност и упишете их у датотеку уз помоћ писача записа.

Зашто користити МапРедуце?

Ево неких од предности МапРедуце-а, објашњавајући разлоге зашто га морате користити у својим апликацијама за велике податке:

Паралелна обрада

Можете поделити посао на различите чворове где сваки чвор истовремено обрађује део овог посла у МапРедуце-у. Дакле, подела већих задатака на мање смањује сложеност. Такође, пошто се различити задаци покрећу паралелно на различитим машинама уместо на једној машини, потребно је знатно мање времена за обраду података.

Локалитет података

У МапРедуце-у можете преместити јединицу за обраду у податке, а не обрнуто.

На традиционалне начине подаци су доношени у јединицу за обраду на обраду. Међутим, са брзим растом података, овај процес је почео да представља многе изазове. Неки од њих су били скупљи, дуготрајнији, оптерећујући главни чвор, чести кварови и смањене перформансе мреже.

  Како да поправите „Интернет грешку“ на ПУБГ мобилним апликацијама

Али МапРедуце помаже у превазилажењу ових проблема пратећи обрнути приступ – доводећи јединицу за обраду подацима. На овај начин, подаци се дистрибуирају између различитих чворова где сваки чвор може да обради део ускладиштених података.

Као резултат, нуди економичност и смањује време обраде пошто сваки чвор ради паралелно са својим одговарајућим делом података. Поред тога, пошто сваки чвор обрађује део ових података, ниједан чвор неће бити преоптерећен.

Безбедност

МапРедуце модел нуди већу сигурност. Помаже у заштити ваше апликације од неовлашћених података док истовремено побољшава безбедност кластера.

Скалабилност и флексибилност

МапРедуце је високо скалабилан оквир. Омогућава вам да покрећете апликације са неколико машина, користећи податке са хиљадама терабајта. Такође нуди флексибилност обраде података који могу бити структурирани, полуструктурирани или неструктурирани и било ког формата или величине.

Једноставност

МапРедуце програме можете писати на било ком програмском језику као што су Јава, Р, Перл, Питхон и још много тога. Због тога је свакоме лако да научи и пише програме, а да притом обезбеди да су испуњени њихови захтеви за обрадом података.

Случајеви употребе МапРедуце-а

  • Индексирање целог текста: МапРедуце се користи за индексирање целог текста. Његов Маппер може мапирати сваку реч или фразу у једном документу. А Редуцер се користи за уписивање свих мапираних елемената у индекс.
  • Израчунавање ранга странице: Гоогле користи МапРедуце за израчунавање ранга странице.
  • Анализа дневника: МапРедуце може анализирати датотеке дневника. Може да разбије велику датотеку евиденције на различите делове или подели док мапер тражи веб странице којима се приступа.

Пар кључ-вредност ће бити достављен редуктору ако је веб страница уочена у евиденцији. Овде ће веб страница бити кључ, а индекс „1“ је вредност. Након давања пара кључ/вредност Редуцеру, различите веб странице ће бити агрегиране. Коначни резултат је укупан број погодака за сваку веб страницу.

  • Реверсе Веб-Линк Грапх: Оквир се такође користи у Реверсе Веб-Линк Грапх-у. Овде Мап() даје циљну УРЛ адресу и извор и узима унос са извора или веб странице.

Затим, Редуце() агрегира листу сваког изворног УРЛ-а повезаног са циљним УРЛ-ом. Коначно, даје изворе и циљ.

  • Бројање речи: МапРедуце се користи за бројање колико пута се реч појављује у датом документу.
  • Глобално загревање: Организације, владе и компаније могу да користе МапРедуце за решавање проблема глобалног загревања.

На пример, можда желите да знате о повећаном нивоу температуре океана због глобалног загревања. За ово можете прикупити хиљаде података широм света. Подаци могу бити висока температура, ниска температура, географска ширина, дужина, датум, време итд. Ово ће захтевати неколико мапа и смањити задатке за израчунавање излаза користећи МапРедуце.

  • Испитивања лекова: Традиционално, научници података и математичари су радили заједно на формулисању новог лека који може да се бори против болести. Уз ширење алгоритама и МапРедуце-а, ИТ одељења у организацијама могу лако да се позабаве проблемима којима су се бавили само суперкомпјутери, др. научници итд. Сада можете да проверите ефикасност лека за групу пацијената.
  • Друге апликације: МапРедуце може да обрађује чак и податке великих размера који се иначе не уклапају у релациону базу података. Такође користи алате за науку о подацима и омогућава њихово покретање преко различитих, дистрибуираних скупова података, што је раније било могуће само на једном рачунару.

Као резултат робусности и једноставности МапРедуце-а, он налази примену у војсци, бизнису, науци итд.

Закључак

МапРедуце се може показати као напредак у технологији. То није само бржи и једноставнији процес, већ и исплатив и мање времена. С обзиром на његове предности и све већу употребу, вероватно ће бити сведоци већег усвајања у свим индустријама и организацијама.

Такође можете истражити неке најбоље ресурсе за учење великих података и Хадооп-а.