Спарк вс Хадооп: Који је најбољи оквир за велике податке?



Овај пост на блогу говори о апацхе спарк вс хадооп-у. Даће вам идеју о томе који је прави оквир за велике податке изабрати у различитим сценаријима.

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

Апацхе Спарк вс Хадооп: Увод у Хадооп

Хадооп је оквир који вам омогућава да прво складиштите велике податке у дистрибуираном окружењу тако да их можете паралелно обрађивати. У основи постоје две компоненте у Хадооп-у:





ХДФС

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

НамеНоде

Главни демон је тај који одржава и управља ДатаНодес (славе чворови). Биљежи метаподатке свих датотека похрањених у кластеру, нпр. локација ускладиштених блокова, величина датотека, дозволе, хијерархија итд. Биљежи сваку промјену која се дешава у метаподацима датотечног система.



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

ДатаНоде

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

ХДФС - Апацхе Спарк вс Хадооп - ЕдурекаПРЕЂА

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



РесоурцеМанагер

То је компонента нивоа кластера (по једна за сваки кластер) и ради на главној машини. Управља ресурсима и заказује апликације које се извршавају на врху ИАРН.

НодеМанагер

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

скл водич за интеграцију ссс сервера за услуге корак по корак

Да бисте сазнали више о Хадооп-у, можете проћи кроз ово блог. Сада, када смо сви спремни за увод у Хадооп, пређимо на увод у Спарк.

Апацхе Спарк вс Хадооп: Увод у Апацхе Спарк

Апацхе Спарк је оквир за аналитику података у реалном времену у дистрибуираном рачунарском окружењу. Извршава прорачуне у меморији ради повећања брзине обраде података. Бржи је за обраду података великог обима јер користи прорачуне у меморији и друге оптимизације. Због тога је потребна велика снага обраде.

Отпорни дистрибуирани скуп података (РДД) је основна структура података Спарка. То је непроменљива дистрибуирана колекција предмета. Сваки скуп података у РДД-у подељен је на логичке партиције, које се могу израчунати на различитим чворовима кластера. РДД-ови могу садржати било који тип Питхон, Јава или Сцала објеката, укључујући кориснички дефинисане класе. Компоненте варница чине га брзим и поузданим. Апацхе Спарк има следеће компоненте:

  1. Спарк Цоре - Спарк Цоре је основни мотор за паралелну и дистрибуирану обраду података великих размера. Даље, додатне библиотеке које су изграђене на врху језгра омогућавају различита оптерећења за стримовање, СКЛ и машинско учење. Одговорна је за управљање меморијом и опоравак грешака, распоређивање, дистрибуцију и надгледање послова на кластеру и интеракцију са системима за складиштење
  2. Спарк Стреаминг - Спарк Стреаминг је компонента Спарк-а која се користи за обраду података у реалном времену. Стога је користан додатак основном АПИ-ју Спарк. Омогућава високу проточност и отпорност на грешке у обради токова података уживо
  3. Спарк СКЛ : Спарк СКЛ је нови модул у Спарк-у који интегрише релациону обраду са Спарк-овим АПИ-јем за функционално програмирање. Подржава испитивање података било путем СКЛ-а или преко језика упита за кошнице. За оне који су вам познати РДБМС, Спарк СКЛ ће бити лак прелазак са ваших ранијих алата где можете проширити границе традиционалне релационе обраде података.
  4. ГрапхКс : ГрапхКс је Спарк АПИ за графове и израчунавање паралелно са графовима. Дакле, проширује Спарк РДД са еластичним распоређеним графом својстава. На високом нивоу, ГрапхКс проширује апстракцију Спарк РДД увођењем Ресилиент Дистрибутед Проперти Грапх: усмјереног мултиграфа са својствима везаним за сваки врх и ивицу.
  5. МЛлиб (Машинско учење): МЛлиб означава библиотеку машинског учења. Спарк МЛлиб се користи за извођење машинског учења у Апацхе Спарк-у.

Као што видите, Спарк долази препун библиотека на високом нивоу, укључујући подршку за Р, СКЛ, Питхон, Сцала, Јава итд. Ове стандардне библиотеке повећавају неприметне интеграције у сложеном току рада. Поред тога, омогућава и интегрисање различитих скупова услуга као што су МЛлиб, ГрапхКс, СКЛ + Дата Фрамес, Стреаминг услуге итд. Како би повећали своје могућности.

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

Апацхе Спарк вс Хадооп: Параметри за упоређивање

Перформансе

Спарк је брз јер има обраду у меморији. Такође може да користи диск за податке који се не уклапају у меморију. Спаркова обрада у меморији пружа аналитику готово у реалном времену. Ово чини Спарк погодним за систем за обраду кредитних картица, машинско учење, сигурносну аналитику и сензоре за Интернет ствари.

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

Проблем упоређивања ове две методе је тај што обраду обављају различито.

Лакоћа коришћења

Спарк долази са корисничким АПИ-има за Сцала, Јава, Питхон и Спарк СКЛ. Спарк СКЛ је врло сличан СКЛ-у, тако да га програмери СКЛ-а могу лакше научити. Спарк такође нуди интерактивну љуску за програмере да постављају упите и извршавају друге радње и имају тренутне повратне информације.

шта је оквир у јави

Податке у Хадооп можете лако унијети или помоћу љуске или интегришући их са више алата као што су Скооп, Флуме итд. ПРЕЂА је само оквир за обраду и може се интегрирати са више алата попут Хиве и Пиг. ХИВЕ је компонента за складиштење података која врши читање, писање и управљање великим скуповима података у дистрибуираном окружењу користећи интерфејс сличан СКЛ-у. Можете проћи кроз ово Хадооп екосистем блог да бисте знали о разним алатима који се могу интегрисати са Хадооп-ом.

Трошкови

Хадооп и Спарк су Апацхеови пројекти отвореног кода, тако да софтвер не кошта. Трошкови су повезани само са инфраструктуром. Оба производа су дизајнирана тако да могу да раде на робном хардверу са ниским ТЦО.

Сад се можда питате на који су начин различити. Складиштење и обрада у Хадоопу је заснована на диску, а Хадооп користи стандардне количине меморије. Дакле, са Хадооп-ом нам треба пуно простора на диску, као и бржи дискови. Хадооп такође захтева више система за дистрибуцију И / О диска.

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

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

Обрада података

Постоје две врсте обраде података: групна обрада и обрада у току.

Групна обрада вс обрада стрима

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

Серијска обрада је ефикасан начин обраде великих, статичних скупова података. Генерално обављамо серијску обраду архивираних скупова података. На пример, израчунавање просечног дохотка неке земље или процена промене у е-трговини у последњој деценији.

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

Сада се враћа на Апацхе Спарк вс Хадооп, ИАРН је у основи оквир за групну обраду. Када предајемо посао ИАРН-у, он чита податке из кластера, изводи операцију и записује резултате назад у кластер. Затим поново чита ажуриране податке, изводи следећу операцију и записује резултате назад у кластер и тако даље.

Спарк изводи сличне операције, али користи обраду у меморији и оптимизује кораке. ГрапхКс омогућава корисницима да виде исте податке као графикони и као колекције. Корисници такође могу трансформисати и придружити графиконе помоћу еластичних дистрибуираних скупова података (РДД).

Толеранција грешке

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

Као што смо горе разговарали, РДД-ови су блокови Апацхе Спарк-а. РДД-ови пружају толеранцију квара на Спарк. Могу се односити на било који скуп података који је присутан у спољном систему за складиштење, као што су ХДФС, ХБасе, дељени систем датотека. Могу се радити паралелно.

ц ++ јава питхон

РДД-ови могу задржати скуп података у меморији током свих операција, што чини будуће акције 10 пута много бржим. Ако се РДД изгуби, аутоматски ће се поново израчунати помоћу оригиналних трансформација. На овај начин Спарк обезбеђује толеранцију грешака.

Сигурност

Хадооп подржава Керберос за потврду идентитета, али је тешко руковати њиме. Ипак, такође подржава независне добављаче попут ЛДАП (лагани протокол за приступ директоријуму) за потврду идентитета. Такође нуде шифровање. ХДФС подржава традиционалне дозволе датотека, као и листе за контролу приступа (АЦЛ). Хадооп пружа овлашћење на нивоу услуге, што гарантује да клијенти имају права дозвола за пријављивање на посао.

Спарк тренутно подржава потврду идентитета путем заједничке тајне. Спарк се може интегрисати са ХДФС-ом ​​и може користити ХДФС АЦЛ-ове и дозволе на нивоу датотеке. Спарк такође може радити на ИАРН-у, искоришћавајући могућности Кербероса.

Случајеви примене у којима Хадооп најбоље одговара:

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

Случајеви примене у којима Спарк најбоље одговара:

Анализа великих података у реалном времену:

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

Спарк тврди да обрађује податке сто пута брже од МапРедуце-а, док десет пута брже са дисковима.

Обрада графикона:

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

Такође, за прослеђивање порука потребне су оцене суседних чворова како би се проценио резултат одређеног чвора. Овим прорачунима су потребне поруке његових суседа (или подаци у више фаза посла), механизам који МапРедуце-у недостаје. Различити алати за обраду графова, као што су Прегел и ГрапхЛаб, дизајнирани су да одговоре на потребу за ефикасном платформом за алгоритме за обраду графова. Ови алати су брзи и скалабилни, али нису ефикасни за стварање и накнадну обраду ових сложених вишестепених алгоритама.

Увођење Апацхе Спарк-а је у великој мери решило ове проблеме. Спарк садржи библиотеку за рачунање графова названу ГрапхКс која нам поједностављује живот. Израчунавање у меморији заједно са уграђеном подршком за графове побољшава перформансе алгоритма за један или два степена у односу на традиционалне програме МапРедуце. Спарк користи комбинацију Нетти и Акка за дистрибуцију порука по извршиоцима. Погледајмо неке статистике које приказују перформансе алгоритма ПагеРанк користећи Хадооп и Спарк.

Итеративни алгоритми машинског учења:

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

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

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

„Апацхе Спарк: Убица или спаситељ Апацхе Хадооп-а?“

Одговор на ово - Хадооп МапРедуце и Апацхе Спарк се не такмиче једни са другима. Заправо се прилично добро допуњују. Хадооп ставља огромне скупове података под контролу робних система. Спарк пружа обраду у меморији у реалном времену за оне скупове података који то захтевају. Када комбинујемо способност Апацхе Спарк-а, тј. Високу брзину обраде, напредну аналитику и подршку за вишеструку интеграцију са Хадооповим јефтиним радом на робном хардверу, даје најбоље резултате. Хадооп поздравља Апацхе Спарк могућности. Спарк не може у потпуности заменити Хадооп, али добра вест је да је потражња за Спарком тренутно на високом нивоу! Право је време да савладате Спарк и максимално искористите могућности за каријеру које вам се нађу на путу. Започнете сада!

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

Ако желите да научите Спарк и изградите каријеру у домену Спарк-а за обављање велике обраде података помоћу РДД-а, Спарк Стреаминг-а, СпаркСКЛ-а, МЛлиб-а, ГрапхКс-а и Сцале са стварним случајевима коришћења, погледајте наш интерактивни ливе-онлине овде, која долази са подршком 24 * 7 која ће вас водити током читавог периода учења.