Hadoop MapReduce Инфраструктура за електронско пословање

Similar documents
Креирање апликација-калкулатор

Сигурност у програмском. cs/technotes/guides/security/overvie w/jsoverview.html

Катедра за рачунарску технику и информатику. Програмирање 1

АЛГОРИТАМСКИ ПРИСТУП РЕШАВАЊУ ПРОБЛЕМА

Архитектура и организација рачунара 2

1 Универзитет у Новом Саду Технички факултет Михајло Пупин Зрењанин

СЕКТОР ЗА ИНФОРМАЦИОНЕ ТЕХНОЛОГИЈЕ ПРОЦЕДУРА ЗА РАД СА ЕКСЕЛ ШАБЛОНОМ ЗА УНОС И КОНТРОЛУ ЗАВРШНИХ РАЧУНА КОРИСНИКА БУЏЕТСКИХ СРЕДСТАВА СИТ-B.

Члан 2. Поједини изрази употребљени у овом правилнику имају следеће значење: 1) акутна референтна доза (у даљем тексту: ARD) јесте процењена

Tel (0) ; Fax: + 381(0) ; web: ;

Критеријуми за друштвене науке

ЗАХТЕВ ЗА ПРЕВОЂЕЊЕ У РЕГИСТАР ПРИВРЕДНИХ СУБЈЕКТА

6 th INTERNATIONAL CONFERENCE

УНИВЕРЗИТЕТ У БЕОГРАДУ ЕЛЕКТРОТЕХНИЧКИ ФАКУЛТЕТ. Ненад Королија

О Д Л У К У о додели уговора

О Д Л У К У о додели уговора

Конкурсна документација Т - 44 / 2013

ПРЕГЛЕД ОБРАЧУНА ПДВ ЗА ПОРЕСКИ ПЕРИОД ОД ДО 20. ГОДИНЕ

TРЖИШТЕ ЕЛЕКТРОНСКИХ КОМУНИКАЦИЈА У РЕПУБЛИЦИ СРБИЈИ У ГОДИНИ

ИТРИ СТАНДАРДИ ЗА ЕВАЛУАЦИЈУ

О б р а з л о ж е њ е

РЕШЕЊЕ АНАЛИЗА ПОДАТАКА

DOM Document Object Model (наставак)

СТРУКТУРА СТАНДАРДА СИСТЕМАМЕНАЏМЕНТАКВАЛИТЕТОМ

На основу члана 108. Закона о јавним набавкама директор Дома здравља Др Јован Јовановић Змај Стара Пазова, доноси следећу:

Универзитет у Новом Саду Технички факултет Михајло Пупин Зрењанин

Достава захтева и пријава М-4 за годину преко електронског сервиса Фонда ПИО. е-м4. Републички фонд за пензијско и инвалидско осигурање

Образац за пријаву техничког решења 1

ОДЛУКУ О УТВРЂИВАЊУ ПРОСЕЧНИХ ЦЕНА КВАДРАТНОГ МЕТРА НЕПОКРЕТНОСТИ ЗА УТВРЂИВАЊЕ ПОРЕЗА НА ИМОВИНУ ЗА 2018

Регионално такмичење из ИНФОРМАТИКЕ (ОСНОВНЕ ШКОЛЕ)

Директна и обрнута пропорционалност. a b. и решава се тако што се помноже ''спољашњи са спољашњим'' и ''унyтрашњи са. 5 kg kg 7 kg...

МИ КРО БИ О ЛО ШКИ КРИ ТЕ РИ ЈУ МИ ЗА ХРА НУ

О Д Л У К У о додели уговора

Arduino базирани уређај за дистрибуцију података преко Интернета

ЕЛЕКТРОНСКИ МЕНАЏМЕНТ ЉУДСКИХ РЕСУРСА (Е-МЉР): НОВИ КОНЦЕПТ ЗА ДИГИТАЛНО ДОБА

6 th INTERNATIONAL CONFERENCE

Стандарди у области безбедности ИKТ-а. Драган Вуксановић, Институт за стандардизацију Србије

О Д Л У К У о додели уговора

Annex XVIII - World Tourism Organization to the Convention on the Privileges and Immunities of the Specialized Agencies

БИЛТЕН БР. 3 ТАКМИЧАРСКА СЕЗОНА 2017./2018. ГОДИНА ВАТЕРПОЛО САВЕЗ СРБИЈЕ

ПРАВИЛНИК О РОКОВИМА, САДРЖАЈУ И НАЧИНУ ДОСТАВЉАЊА ПОДАТАКА О НАБАВЦИ И ПРОДАЈИ НАФТЕ, ДЕРИВАТА НАФТЕ, БИОГОРИВА И КОМПРИМОВАНОГ ПРИРОДНОГ ГАСА

Универзитет у Београду Математички факултет

ВИКИПЕДИЈА КАО МОГУЋНОСТ ЗА ИНОВАЦИЈЕ У НАСТАВИ ИНФОРМАТИКЕ НА ПРИМЕРУ УЧИТЕЉСКОГ ФАКУЛТЕТА

ПРЕ ПИЧА НАЈВАЖНИЈА ПИТАЊА

Основне информације Р епубличка комисија за заштиту права у поступцима јавних набавки је

Март Opinion research & Communications

УНИВЕРЗИТЕТ У НОВОМ САДУ

NIS HOLDS 9TH ANNUAL GENERAL MEETING

ЛАБОРАТОРИЈА ЕНЕРГИЈЕ ЗНАЊА

О Д Л У К У о додели уговора

НАУЧНО ВЕЋЕ АСТРОНОМСКЕ ОПСЕРВАТОРИЈЕ БИЛТЕН РЕФЕРАТА. за избор у научна звања и избор и реизбор на одговарајуца радна места

Go-Lab Приручник за подршку наставницима

Касетни ланчаник. Упутство за продавце. ROAD MTB Трекинг. Бицикл за вожњу по граду/рекреацију

Конкурентно и дистрибуирано програмирање 13Е113КДП

ПРЕПОРУКЕ ЗА ИЗРАДУ И ОДРЖАВАЊЕ ВЕБ ПРЕЗЕНТАЦИЈА ИНСТИТУЦИЈА РЕПУБЛИКЕ СРПСКЕ

ИНФОТЕКА бр.1-2/2002. Нови трендови у библиотекарству

Радна група овлашћених регистара

THE THEATRE IN PARTHICOPOLIS: A POSSIBLE RECONSTRUCTION

СРЕДЊЕ ОБРАЗОВАЊЕ ШКОЛСКА 2015/2016. ГОДИНА SECONDARY EDUCATION SCHOOL YEAR 2015/2016

Пословна интелигенција

Развој графичког корисничког интерфејса за пројекат отвореног кода QLab

25072 State Hwy 18, Springboro, PA 16435

ИСТОРИЈА ДОКУМЕНТА Верзија Аутор Датум Опис 0.1 Срђан Ћурчић Иницијална верзија документа

ПРАВИЛНИК О БЛИЖЕМ УРЕЂИВАЊУ ПОСТУПКА ЈАВНЕ НАБАВКЕ. Техничког факултета у Бору

ЕКСПЛИЦИТНА НАСТАВА, НАМЕРНО УЧЕЊЕ И САВРЕМЕНЕ МЕТОДЕ У ПОРЕЂЕЊУ С ТРАДИЦИОНАЛНИМ УЧЕЊЕМ СТРАНОГ ЈЕЗИКА

МИРЕЊЕ КАО НАЧИН РЕШАВАЊА ПОТРОШАЧКИХ СПОРОВА МАЛЕ ВРЕДНОСТИ

ПРИРУЧНИК ЗА ОБУКУ СУДИЈА СУЂЕЊЕ У РАЗУМНОМ РОКУ

ОБАВЕШТЕЊЕ О ЗАКЉУЧЕНОМ УГОВОРУ

На основу члана 108. Закона о јавним набавкама ( Службени гласник РС, број 124/2012, 124/2012, 14/2015, 68/2015), доносим

Општинско такмичење из ИНФОРМАТИКЕ (ОСНОВНЕ ШКОЛЕ)

КОНКУРСНА ДОКУМЕНТАЦИЈА

ИЗДВАЈАЊЕ И ВИЗУЕЛИЗАЦИЈА ЗНАЊА ИЗ ТЕКСТУАЛНИХ ИЗВОРА ЗА ПОТРЕБЕ УПРАВЉАЊА ИНВЕСТИЦИОНИМ ПРОЈЕКТИМА У ГРАЂЕВИНАРСТВУ

РЕГИСТАР УДРУЖЕЊА, ДРУШТАВА И САВЕЗА У ОБЛАСТИ СПОРТА

Sick at school. (Болесна у школи) Serbian. List of characters. (Списак личности) Leila, the sick girl. Sick girl s friend. Class teacher.

ОБАВЈЕШТЕЊЕ О НАБАВЦИ /17

О Д Л У К У О ДОДЕЛИ УГОВОРА

Влада Републике Србије Министарство просвете, науке и технолошког развоја

СЛУЖБЕНИ ГЛАСНИК РЕПУБЛИКЕ СРПСКЕ УРЕДБУ. Језик српског народа. Понедјељак, 30. март године БАЊА ЛУКА

логос 2006 ( стр.) 177 УДК Парадигма превођења

ЗНАЧАЈ БЕЗБЕДНОСНЕ КУЛТУРЕ У КОНТРОЛИ КАО ФУНКЦИЈИ РУКОВОЂЕЊА У ПОЛИЦИЈИ 1

Рачунарске мреже. Александар Картељ

ФАКТОРИНГ СА ПОСЕБНИМ ПОГЛЕДОМ НА ЗАКОНСКО РЕШЕЊЕ У РЕПУБЛИЦИ СРБИЈИ

О б р а з л о ж е њ е

ВРЕМЕНСКИ ОКВИР У ЗАКОНУ О ПАРНИЧНОМ ПОСТУПКУ РЕПУБЛИКЕ СРБИЈЕ ИЗ ГОДИНЕ

ОДБОЈКАШКИ САВЕЗ ВОЈВОДИНЕ Нови Сад Масарикова 25 тел/факс: 021/ , тр:

consultancy final presentation conceptual presentation of proposals projects Feasibility Cost Study for converting space

Хоризонтални споразуми у праву Србије и праву Европске уније

МЕТОДОЛОШКИ ПРИРУЧНИК: АНАЛИЗА И ТРЕТМАН РИЗИКА ОД КОРУПЦИЈЕ У МИКРО ПРЕДУЗЕЋИМА И МСП

ТМ Г. XXXVI Бр. 1 Стр Ниш јануар - март UDK : ПРИСТУПАЧНОСТ ИНТЕРНЕТА ОСОБАМА СА ПОРЕМЕЋАЈЕМ РАЗЛИКОВАЊА БОЈА

ПРЕДМЕТ : Питања и одговори бр.1 ЈНОП/8 поступак јавне набавке друмских возила путем финансијског лизинга

Политика као препрека реформама

ЗАШТИТА И ОБНОВА ИСТОРИЈСКИХ УРБАНИХ ЦЕЛИНА ПОТРОШАЧКИ ПРОИЗВОД ИЛИ КРЕАТИВНА АКТИВНОСТ?

УНИВЕРЗИТЕТ ''ЏОН НЕЗБИТ'' ФАКУЛТЕТ ЗА ПОСЛОВНЕ СТУДИЈЕ Б Е О Г Р А Д. МА Александар Базић

О Д Л У К У о додели уговора

З А К О Н О ПОТВРЂИВАЊУ СПОРАЗУМА ИЗМЕЂУ ВЛАДЕ РЕПУБЛИКЕ СРБИЈЕ И ОРГАНИЗАЦИЈЕ НАТО ЗА ПОДРШКУ И НАБАВКУ (NSPO) О САРАДЊИ У ОБЛАСТИ ЛОГИСТИЧКЕ ПОДРШКЕ

UDK :

Млади и жене на тржишту рада у Србији

УТИЦАЈ ДЕМОГРАФСКИХ КАРАКТЕРИСТИКА ГЕНЕРАЦИЈА НА КРЕИРАЊЕ НОВИХ УСЛУГА

КОМПАРАТИВНА АНАЛИЗА КОНГРЕСНОГ ТУРИЗМА БЕОГРАДА И ПРАГА

КУЛТУРНИ ТУРИЗАМ У ЕВРОПИ

Социолошки преглед, vol. LI (2017), no. 1, стр Увод

Transcription:

Hadoop MapReduce Инфраструктура за електронско пословање др Милош ЦВЕТАНОВИЋ др Захарије РАДИВОЈЕВИЋ

Софтверска библиотека Apache Hadoop представља оквир који омогућава дистрибуирану обраду великих скупова података коришћењем кластера рачунара и једноставног програмског модела. Омогућава скалирање апликација у зависности од доступног хардвера на коме је подигнут ( и на системима са једним сервером и са великим бројем сервера код којих сваки има локални простор). Библиотека је дизајниран тако да на апликативном нивоу открије и обради кварове, што захтева коришћење наменског хардвера да би се постигла велика доступност, већ се може користити доступан хардвер. Садржи следеће модуле: Hadoop Common: Модул садржи заједничке делове које користе остали модули. Hadoop Distributed File System (HDFS ): Дистрибуирани фајл систем који омогућава високо-пропусни приступ подацима апликације. Hadoop YARN: Оквир за распоређивање послова и управљање ресурсима кластера. Hadoop MapReduce: Систем за паралелно процесирање великих скупова података (заснован на YARN модулу) http://hadoop.apache.org/

Мапридјус (MapReduce) представља програмски модел који треба да олакша обраду и креирање велике количине података користећи паралелне алгоритме који могу да се извршавају на групи рачунара. Инспирација потиче од функционалних језика (Lisp) који имају фазе мапирања и редукције. Коришћење се може поделите на следеће кораке: 1. Комплетан улазни сет података који је потребно да се обради се разбија на парове кључ-вредност. 2. У фазу мапирања као улазни податак пристиже један пар кључ-вредност који се обрађује. На основу овог пара података формира се листа која садржи нула или више парова који садрже кључ-вредност. Map: (key1, val1) -> listof(key2, val2) 3. Када се заврши фаза мапирања излази фазе мапирања се групишу по вредности кључа и прослеђују у фазу редукције. 4. У фазу редукције као улазни податак пристиже један кључ и листа вредности које су за дати кључ креиране у фази мапирања. На основу ових вредности се формира листа резултата. Reduce: (key2, listof(val2)) -> listof(val3)

Google: (полазна основа, не користи Hadoop) Конструкција индекса код претраживања страница (Google Search) Груписање чланака (Google News) Аутоматско превођење засновано на статистици Код вишеслојних мапа улица Yahoo!: Код претражива и индексирања страница ( Web map Yahoo! Search) Филтрирање спам порука (Yahoo! Mail) Facebook: Обрада података (Data mining) Оптимизација реклама Филтрирање спама

Класа!

Класа!

Редукција се састоји из три основне фазе: 1. Мешање (Shuffle) Приликом редукције се користи груписани излаз фазе мапирања. У овој фази систем, за сваки чвор који ради редукцију, проналази све релевантне делове излаза који су произвели чворови који раде мапирање. Проналажење се обавља користећи HTTP. 2. Сортирање (Sort) Систем групише улазе које треба редуковати користећи њихов кључ. Ово је потребно да се уради јер су различити чворово који раде мапирање могли за исти чвор који раде редукцију да произведу кључеве. Фаза мешања и сортирања се обављају симултано, то јест приликом дохватања излаза они се спајају. Додати за секундарно сортирање 3. Редукција (Reduce) У овој фази се обавља сама метода за редукцију reduce(object, Iterable, Context) која се позива за сваки груписани пар <кључ, колекција вредности>. Излаз ове фазе се обично уписује у RecordWriter користећи TaskInputOutputContext.write(Object, Object). Излаз фазе редукције се не сортира.

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

Написати MapReduce програм који чита садржај задате датотеке и пребројава колико се пута која реч у тој датотеци појавила.

Написати MapReduce програм који чита садржај задате датотеке и пребројава колико се пута која реч у тој датотеци појавила.

Написати MapReduce програм који чита садржај задате датотеке и пребројава колико се пута која реч у тој датотеци појавила.

Написати MapReduce програм који чита садржај задате датотеке и пребројава колико се пута која реч у тој датотеци појавила.

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

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

У развијеном програму за пребројавање речи додати исписивање периодичног извештаја.

Након обављања операције мапирања њени излази се налазе у оперативној меморији. Како би се повећала ефикасност обраде, да се сви подаци не би слсли на редукцију и губило време на паковање, транспорт и препакивање података, уведен је поступак комбиновања међурезултата. Овај поступак је сличан редукцији, с тим да се не мора да се обавља над свим подацима већ само над извесном количином података који су проистекли након мапирања. Приликом креирања треба водити рачуна да улазни/излазни кључ и вредност морају да буду истог топа као излази мапирања. Може применити само у случајевима када је посао таква да подржава инкременталну обраду MAX(5, 4, 1, 2) = MAX(MAX(5, 1), MAX(4, 2)) Исто и за SUM, MIN, COUNT,... Обично иста класа ради и мапирање и комбиновање резултата мапирања.

У развијеном програму за пребројавање речи додати комбиновање резултата на рачунару на коме се обавља мапирање. Исти улазни и излазни типови!!

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

Класа!

У развијеном програму за пребројавање речи додати распоређивање према хееш функцији.

Након дељења кључева редукторима могуће је њихово додатно сортирање по неком критеријуму користећи објекат за поређење који се поставља користећи методу setsortcomparatorclass(class) класе Job. Поред сортирања кључева могуће је њихово груписање како би се обавила обједињена обрада над груписаним кључевима. Ово се ради уколико се већи број кључева може груписати по неком свом својству у један кључ. За груписање кључева се користи посебан објекат за поређење RawComparator који се поставља користећи методу setgroupingcomparatorclass (Class) класе Job. На овај начин се постиже ефекат који је доста сличан секундарном сортирању. Треба приметити да се прво обавља сортирање па груписање кључева.

Потребно је свакој страници (документу) придружити URL дупликата те странице који има највећи ранг. Кључ за Map фазу: url Вредност за Map: документ, ранг странице Излазни кључ Map фазе: чексума документа, ранг странице Излазна вредност Map фазе: url Дељење кључева између редуктора: по чексуми Сортирање кључева (SortComparator): по чексуми па по опадајућем рангу странице Груписање кључева (GroupingComparator): по чексуми

1. Map.setup 2. Map.map(key1, value1) 3. if(hasmore keys1) goto 3 4. SortComparator.sort 5. Combiner.setup 6. Combiner.reduce при позиву values.next() позива се CombinerKeyGroupingComparator.compare 7. if(hasmore keys1) goto 6 8. Partition.getPartition(key2, value2) 9. SortComparator.sort 10. Reduce.setup 11. Reducer.reduce(key, values), при позиву values.next() позива се GroupingComparator.compare 12. if(hasmore keys1) goto 11

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

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

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

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

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

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

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

Написати MapReduce програм који раруна интеграл дате функције у задатим границама.

Написати MapReduce програм који раруна интеграл дате функције у задатим границама.

Написати MapReduce програм који раруна интеграл дате функције у задатим границама.

Написати MapReduce програм који обавља множење матрица прочитаних из једне датотеке. http://importantfish.com/one-step-matrix-multiplication-with-hadoop/

Написати MapReduce програм који обавља множење матрица прочитаних из једне датотеке. http://importantfish.com/one-step-matrix-multiplication-with-hadoop/

Написати MapReduce програм који обавља множење матрица прочитаних из једне датотеке. http://importantfish.com/one-step-matrix-multiplication-with-hadoop/

Написати MapReduce програм који обавља множење матрица прочитаних из једне датотеке. http://importantfish.com/one-step-matrix-multiplication-with-hadoop/

Написати MapReduce програм који обавља множење матрица прочитаних из једне датотеке. Корак 1: http://importantfish.com/two-step-matrix-multiplication-with-hadoop/

Написати MapReduce програм који обавља множење матрица прочитаних из једне датотеке. Корак 2: http://importantfish.com/two-step-matrix-multiplication-with-hadoop/

Написати MapReduce програм који обавља множење матрица прочитаних из једне датотеке. http://importantfish.com/two-step-matrix-multiplication-with-hadoop/

Написати MapReduce програм који обавља множење матрица прочитаних из једне датотеке. http://importantfish.com/two-step-matrix-multiplication-with-hadoop/

Написати MapReduce програм који обавља множење матрица прочитаних из једне датотеке. http://importantfish.com/two-step-matrix-multiplication-with-hadoop/

Написати MapReduce програм који обавља множење матрица прочитаних из једне датотеке. http://importantfish.com/two-step-matrix-multiplication-with-hadoop/

Написати MapReduce програм који обавља множење матрица прочитаних из једне датотеке. http://importantfish.com/two-step-matrix-multiplication-with-hadoop/

Написати MapReduce програм који обавља множење матрица прочитаних из једне датотеке. http://importantfish.com/two-step-matrix-multiplication-with-hadoop/

Написати MapReduce програм који у задатом графу тражи удаљеност између појединих чворова.

Написати MapReduce програм који у задатом графу тражи удаљеност између појединих чворова.

Написати MapReduce програм који у задатом графу тражи удаљеност између појединих чворова.

Написати MapReduce програм који у задатом графу тражи удаљеност између појединих чворова.

Написати MapReduce програм који у задатом графу тражи удаљеност између појединих чворова.

Написати MapReduce програм који у задатом графу тражи удаљеност између појединих чворова.

Написати MapReduce програм који у задатом графу тражи удаљеност између појединих чворова.

Написати MapReduce програм који у задатом графу тражи удаљеност између појединих чворова.

1. The Apache Software Foundation, Apache Hadoop!, http://hadoop.apache.org/ 2. The Apache Software Foundation, Туторијал за MapReduce, http://hadoop.apache.org/docs/r2.7.0/hadoop-mapreduce-client/hadoopmapreduce-client-core/mapreducetutorial.html Додаци за коришћење Hadoop сервиса користећи Microsoft Azure сервис 1. Microsoft, Емулатор за Hadoop, http://www.microsoft.com/web/gallery/install.aspx?appid=hdinsight 2. Microsoft, HDInsight Service, http://azure.microsoft.com/enus/services/hdinsight/ (Hadoop за Microsoft Azure) 3. Microsoft, Упутство за инсталацију додатка за Еклипс, http://msdn.microsoft.com/en-us/library/azure/hh690946.aspx 4. Microsoft, Windows Azure SDK, http://go.microsoft.com/fwlink/?linkid=252838