Демистификовање партиционирања у варници



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

Прилог Притхвирај Босе

Спарк’с Отпорни дистрибуирани скупови података (апстракција програмирања) се лењо процењују и трансформације се чувају као усмерени ациклични графикони (ДАГ). Дакле, свака акција на РДД-у учиниће да Спарк прерачуна ДАГ. Тако се постиже еластичност у Спарк-у, јер ако било који раднички чвор закаже, ДАГ само треба поново израчунати.





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

Зашто користити партицију?

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



Трансформације које захтевају премештање података у радним чворовима имају велику корист од партиционирања. Такве трансформације су цогроуп, гроупВитх, јоин, лефтОутерЈоин, ригхтОутерЈоин, гроупБиКеи, редуцеБиКеи, цомбБиКеи и потражити .

Партиције се могу конфигурисати под условом да се РДД заснива на кључу / вредности.

Својства партиције

  1. Завојци у истој партицији загарантовани су у истој машини.
  2. Сваки чвор у кластеру може садржати више од једне партиције.
  3. Укупан број партиција је могуће конфигурисати, а подразумевано је подешен на укупан број језгара на свим извршним чворовима.

Врсте партиционирања у Спарк-у

Спарк подржава две врсте партиционирања,

  • Хасх партиционирање : Користи Јава Објецт.хасхЦоде метода за одређивање партиције као партиција = кључ.хасхЦоде ()% нумПартитионс.

hash-partitioning-demystifying-partitioning-in-spark



  • Подјела распона : Користи опсег за дистрибуцију тастера који спадају у опсег на одговарајуће партиције. Ова метода је погодна тамо где постоји природан редослед у тастерима, а тастери су негативни. Исечак кода испод приказује употребу партиционера опсега.

Пример кода

Погледајмо пример како се подаци деле на радне чворове. Доступан је пуни Сцала код овде .

Ево неких тест података од 12 координата (као корице),

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

Тада можемо прегледати парове и извршити разне трансформације засноване на кључу попут фолдБиКеи и редуцеБиКеи.

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

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

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

Повезани постови:

Зашто би требало да научите варницу након савладавања Хадоопа

Апацхе Спарк вс Хадооп МапРедуце