Преглед фаза искре
Фаза у процесу извршења није ништа друго него ниво кроз који сваки од задатака мора проћи. Цео посао искра подијељен је у више фаза за ефикасну обраду података. Сваки задатак се изводи у засебној партицији.
Кад год корисник поднесе пријаву за искривање на Спарк, погонитељ Спарк прихваћа је и идентифицира различите врсте акција / трансформација присутних у апликацији. Даље, ове операције ће бити распоређене у дијаграму протока који се зове ДАГ. ДАГ (усмерени ациклички графикон) се креира кад год се у РДД позива радња или трансформација која заузврат зове ДАГСцхедулер.
Значење ДАГ-а је следеће:
- Усмерјено: Сви чворови повезани су један на други стварајући ациклички граф. Слијед тога је одређен радњама позваним на РДД.
- Ациклички: Чворови нису повезани као цикличка петља, тј. Ако се акција или трансформација једном извршена не могу вратити на првобитну вредност.
- Графикон: Читав узорак формиран помоћу ивица и врхова распоређених заједно у одређеном узорку назива се графикон. Врхови нису ништа друго него РДД, а ивице су акције које се зову на РДД.
ДАГСцхедулер је онај који фазе дели на бројне задатке. ДАГСцхедулер затим прослеђује информације о позорници управитељу кластера (ЈАРН / Спарк самостално) што покреће планер задатака да изврши задатке. Искрени драјвер претвара логички план у физички план извршења. Задаци искре се изводе по цевоводном методу где се сви задаци трансформације комбинују у једну фазу.
Трансформације
Постоје две врсте трансформација:
1. Уске трансформације : Ово су трансформације које не захтевају процес померања. Ове акције се могу извести у једној фази.
Пример: мап () и филтер ()
2. Широке трансформације : Ово су трансформације којима је потребно пребацивање кроз различите партиције. Стога је потребно створити различите фазе за комуникацију кроз различите партиције.
Пример: РедуцеБиКеи
Узмимо пример за боље разумевање како то функционише.
Пример: У овом примеру ћемо видети како функционише једноставно бројање речи користећи Спарк ДАГСцхедулер.
- вал дата = сц.тектФиле („дата.ткт“)
Резултат: подаци: орг.апацхе.спарк.рдд.РДД (Стринг) = дата.ткт МапПартитионсРДД (46) код тектФиле на: 24
Прво се изводи текстуална датотека како би се прочитала дата текстуална датотека са локације ХДФС.
- дата.флатМап (_. сплит ("")). мапа (и => (и, 1)). смањиБиКеи (_ + _). прикупити
Резултат: рес21: Арраи ((Стринг, Инт)) = Арраи ()
Затим се изводи флатМап операција за подељење линија у целој улазној датотеци на различите речи. Тада се врши операција на мапи ради формирања (кључ, вредност) парова попут (реч, 1) за сваку од речи. А функција редуБиКеи се зове да пронађе зброј бројева за сваку реч. Коначно, колективна акција ће дати крајњи резултат тако што ће прикупити све податке.
Током овог програма, Спарк ствара две фазе, јер се овде врши трансформација. Док се обавља операција трансформације, потребно је извршити мијешање јер се подаци требају премештати између 2 или више различитих партиција. Због тога се ствара фаза, а затим се ствара још једна фаза за задатак трансформације.
Такође интерно ће ове фазе бити подељене на задатке. У овом примјеру свака фаза је подијељена на 2 задатка јер постоје 2 партиције које постоје. Свака партиција има појединачни задатак.
Врсте искрица
Ево две врсте искричавих фаза датих у наставку
1. СхуффлеМапСтаге
Ово је у основи посредна фаза у процесу извршења ДАГ-а. Излаз из ове фазе користи се као улаз за наредне фазе. Резултат тога је у облику излазних датотека мапе које се касније могу користити смањењем задатка. СхуффлеМапСтаге сматра се спремним када су сви његови резултати на тржишту доступни. Понекад излазне локације могу недостајати у случајевима када су партиције изгубљене или нису доступне.
Ова фаза може да садржи много операција цевовода, као што су мап () и филтер (), пре извршења померања. СхуффлеМапСтаге користи интерни регистар излазЛоцс и _нумАваилаблеОутпутс за праћење броја излаза насумичних мапа. Један СхуффлеМапСтаге може се уобичајено користити у разним пословима.
2. РесултСтаге
Као што и само име сугерира, ово је посљедња фаза у Спарк послу који изводи операцију на једној или више партиција РДД-а ради израчунавања резултата. Иницијализација интерних регистара и бројача врши РесултСтаге.
ДАГСцхедулер подноси недостајуће задатке ако их има на РесултСтаге за рачунање. За рачунање су јој потребни различити обавезни параметри као што су стагеИд, стагеАттемпИд, емисијска варијабла сериализираног задатка, партиција, префериране задаћеЛоцатионс, оутпутИд, нека локална својства, ТаскМетрицс те одређене фазе. Неки од опционалних параметара који су потребни су ИД посла, ИД апликације и ИД покушаја апликације.
Предности искричавих степеница
Испод су различите предности Спарк Стагес:
1. Динамична алокација извршитеља
Ако видимо временску линију догађаја Спарк Јоб, можемо видети да се додељивање извршитеља врши динамично. То значи да се извршиоци позивају из кластера у зависности од оптерећења током извођења задатка. Након тога се пушта назад у кластер, чим његов посао буде обављен. Ово штеди меморију за расподелу ресурса и омогућава осталим апликацијама да раде на истом кластеру да поново користе извршитеље. Стога ће се укупна употреба кластера повећати и бити оптимална.
2. Кеширање
РДД-ови се спремају током операција које се на њима обављају на свакој фази и чувају се у меморији. Ово је корисно за уштеду рачунарског времена када крајњи резултат захтева поновно читање истих РДД-ова са ХДФС-а.
3. Паралелно извршење
Послови искри који су неовисни један о другом се извршавају паралелно осим ако није потребно мијешање или ако улаз једне фазе не зависи од претходног излаза.
4. ДАГ Визуализација
Ово је веома корисно у случајевима сложених рачунања у којима је укључено пуно операција и њихових зависности. Гледајући ову ДАГ визуализацију, лако се може пратити ток и препознати блокаде перформанси. Такође, можете видети сваки од задатака које покреће свака фаза кликом на фазе приказане у овој визуализацији. У овом проширеном приказу су приказани сви детаљи РДД-а који припадају овој фази.
5. Толеранција на грешке
Због операције кеширања изведене на РДД-у, ДАГ ће имати запис о свакој радњи која је извршена на њима. Дакле, претпоставимо да је у сваком случају изгубљен РДД, лако се може преузети помоћу ДАГ-а. Управитељ кластера може се користити за идентификацију партиције на којој је изгубљена и исти РДД може се поново поставити на исту партицију за опоравак губитка података.
Због горе наведених предности, Апацхе Спарк се широко користи уместо раније коришћеног МапРедуце. Фазе искре нису ништа друго до проширена верзија МапРедуце-а. Пошто је МапРедуце захтевао да се подаци читају и записују у ХДФС више пута, уведен је Спарк који ове радње чини у својој меморији.
Закључак
Стога можемо закључити да су Спарк ступњеви ефикаснији због рачунања у меморији, повећане брзине обраде чак и за итеративну обраду.
Препоручени чланци
Ово је водич за Спарк Стагес. Овде смо расправљали о врстама трансформације и врстама и предностима искричавих степеница. Можда ћете такође погледати следеће чланке да бисте сазнали више -
- Како инсталирати варницу
- Спаркинг Стреаминг
- Цареер ин Спарк
- Спарк Интервју Питања
- Преглед и првих 6 компоненти варнице