Хадооп стреаминг: писање програма Хадооп МапРедуце у Питхон-у



Овај пост на блогу о Хадооп Стреаминг-у је детаљни водич за научавање писања програма Хадооп МапРедуце у Питхону за обраду огромних количина великих података.

Количина дигиталних података који се генеришу свакодневно експоненцијално расте појавом Дигиталних медија, између осталог и Интернета ствари. Овај сценарио је створио изазове у стварању алата и технологија следеће генерације за чување и манипулисање тим подацима. Овде долази Хадооп Стреаминг! Доље је дат графикон који приказује раст података који се годишње генеришу у свету од 2013. ИДЦ процењује да ће количина података створених годишње достићи 180 Зетабајта 2025. године!

data-by-2025-hadoop-streaming





Извор: ИДЦ

ИБМ наводи да се свакодневно креира скоро 2,5 квинтилион бајта података, са 90 посто светских података створених у последње две године! Изазован је задатак похранити тако велику количину података. Хадооп може ефикасније да обрађује велике количине структурираних и неструктурираних података од традиционалног складишта података предузећа. Чува ове огромне скупове података у дистрибуираним кластерима рачунара. Хадооп Стреаминг користи оквир МапРедуце који се може користити за писање апликација за обраду огромних количина података.



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

Шта је Хадооп Стреаминг?

Хадооп Стреаминг је услужни програм који долази са Хадооп дистрибуцијом. Може се користити за извршавање програма за анализу великих података. Хадооп стриминг се може изводити на језицима као што су Питхон, Јава, ПХП, Сцала, Перл, УНИКС и многи други. Услужни програм нам омогућава стварање и покретање послова Мап / Редуце са било којом извршном датотеком или скриптом као маппер и / или редуктор. На пример:

$ ХАДООП_ХОМЕ / бин / хадооп јар $ ХАДООП_ХОМЕ / хадооп-стреаминг.јар



-унесите миИнпутДирс

-оутпут миОутпутДир

-мапа / канта / мачка

-редуцер / канта / вц

Опис параметара:

Питхон МапРедуце код:

маппер.пи #! / уср / бин / питхон импорт сис # Пример бројања речи # улаз долази из стандардног улаза СТДИН за линију у сис.стдин: лине = лине.стрип () #уклони водеће и пратеће размаке речи = лине.сплит ( ) # поделите ред на речи и вратите се као листа за речи у речима: # напишите резултате на стандардни излаз СТДОУТ испис '% с% с'% (реч, 1) #Пусти реч

редуктор.пи

#! / уср / бин / питхон импорт сис фром оператор импорт итемгеттер # помоћу речника за мапирање речи у њихов број цуррент_ворд = Ноне цуррент_цоунт = 0 ворд = Ноне # улаз долази из СТДИН-а за линију у сис.стдин: лине = лине.стрип () реч, бројање = ред.сплит ('', 1) покушај: бројање = инт (бројање) осим ВалуеЕррор: настави ако је тренутна реч == реч: тренутни_број + = броји остало: ако је тренутна реч: испиши '% с% с'% (цуррент_ворд, цуррент_цоунт) цуррент_цоунт = цоунт цуррент_ворд = ворд иф цуррент_ворд == ворд: принт '% с% с'% (цуррент_ворд, цуррент_цоунт)

Трцати:

  1. Направите датотеку са следећим садржајем и назовите је ворд.ткт.

Мачји миш лав јелен Тигар лав Слон лав јелен

  1. Копирајте скрипте маппер.пи и редуцер.пи у исту фасциклу у којој постоји горња датотека.

  1. Отворите терминал и пронађите директоријум датотеке. Наредба: лс: за попис свих датотека у директоријуму цд: за промјену директорија / директоријума

округли дупли за инт јава
  1. Погледајте садржај датотеке.
    Команда: мачка назив документа

> садржај маппер.пи

наредба: мачка маппер.пи

> Садржај редуцер.пи

наредба: мачка редуктор.пи

Можемо покренути маппер и редуктор на локалним датотекама (нпр: ворд.ткт). Да бисмо покренули Мапу и смањили систем дистрибуције датотека Хадооп (ХДФС), потребан нам је Хадооп Стреаминг јар. Дакле, пре него што покренемо скрипте на ХДФС-у, покренимо их локално како бисмо били сигурни да добро раде.

> Покрените маппер

наредба: цат ворд.ткт | питхон маппер.пи

јава сцаннер добити следећи цхар

> Покрените редуцер.пи

наредба: цат ворд.ткт | питхон маппер.пи | сортирај -к1,1 | питхон редуцер.пи

Видимо да маппер и редуктор раде како се очекивало, па се нећемо суочити са даљим проблемима.

Покретање Питхон код на Хадооп-у

Пре него што покренемо задатак МапРедуце на Хадооп-у, копирајте локалне податке (ворд.ткт) на ХДФС

> пример: хдфс дфс -пут изворни_директориј хадооп_дестинатион_дирецтори

наредба: хдфс дфс -пут /хоме/едурека/МапРедуце/ворд.ткт / корисник / едурека

Копирајте путању јар датотеке

Стаза Хадооп Стреаминг јар на основу верзије тегла је:

/уср/либ/хадооп-2.2.Кс/схаре/хадооп/тоолс/либ/хадооп-стреаминг-2.2.Кс.јар

Дакле, пронађите теглу Хадооп Стреаминг на вашем терминалу и копирајте путању.

наредба:

лс /уср/либ/хадооп-2.2.0/схаре/хадооп/тоолс/либ/хадооп-стреаминг-2.2.0.јар

Покрените задатак МапРедуце

наредба:

хадооп јар /уср/либ/хадооп-2.2.0/схаре/хадооп/тоолс/либ/хадооп-стреаминг-2.2.0.јар -филе /хоме/едурека/маппер.пи -маппер маппер.пи -филе / хоме / едурека / редуцер.пи -редуцер редуцер.пи -инпут / усер / едурека / ворд -оутпут / усер / едурека / Вордцоунт

Хадооп пружа основни веб интерфејс за статистику и информације. Када је кластер Хадооп покренут, отворите хттп: // лоцалхост: 50070 у прегледачу. Ево снимка заслона веб интерфејса Хадооп.

како користити тостринг методу у јави

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

Излаз на терминалу можемо видети помоћу ове наредбе

наредба: хадооп фс -цат / усер / едурека / Вордцоунт / парт-00000

Сада сте научили како да извршите програм МапРедуце написан на Питхону користећи Хадооп Стреаминг!

Едурека има курс уживо о Биг Дата & Хадооп-у који воде инструктори, а заједнички су га креирали стручњаци из индустрије.

Имате питање за нас? Молимо вас да то споменете у одељку за коментаре и јавићемо вам се.