What are the Hadoop MapReduce concepts?

What do you mean by Map-Reduce programming?

MapReduce is a programming model designed for processing large volumes of data in parallel by dividing the work into a set of independent tasks.

MapReduce proqramlaşdırma model funksional dilləri ilham və məlumat-intensiv hesablamalar hədəflərinin. input data format proqram xüsusi, və istifadəçi tərəfindən müəyyən edilir. çıxış bir sıra <açar,dəyər> cüt. istifadəçi iki funksiyaları istifadə edərək bir alqoritm bildirir, Xəritə və azaltmaq. Map funksiyası input data tətbiq və aralıq bir siyahısını istehsal olunur <açar,dəyər> cüt. Azaltmaq funksiyası eyni düyməsi ilə bütün aralıq cüt tətbiq edilir. Bu adətən birləşməsi əməliyyat bir növ həyata keçirir və sıfır və ya daha çox çıxış cüt istehsal. nəhayət, çıxış cüt onların əsas dəyəri ilə ayrılır. MapReduce proqramların sadə formada, proqramçı yalnız Map funksiyası təmin edir. Bütün digər funksionallığı, eyni əsas və final çeşidlənməsi var aralıq cüt qruplaşdırılması o cümlədən, uzunluğu tərəfindən təmin edilir.

MapReduce model mərhələləri

MapReduce iş üst vahid bir iş deyil. A iş adətən bir xəritə və bir mərhələsi azaltmaq, azaltmaq mərhələsi əks edilə bilər, baxmayaraq. For example, hər sözü sənədlərin bir sıra arasında istifadə olunur sayını sayar bir MapReduce iş hesab. Xəritə mərhələsi hər bir sənəd sözləri sayar, sonra Faza bütün toplanması əhatə söz sayar daxil başına sənəd aqreqatlar data azaltmaq.

Xəritə mərhələsində, input data Hadoop çoxluq arasında paralel xəritə vəzifələri ilə təhlili üçün giriş olur bölünür. qiyabi, MapReduce çərçivə Hadoop Dağıtılmış Fayl Sistemi input data alır (HDFS).

azaltmaq mərhələsi paralel azaltmaq vəzifələri bir sıra giriş kimi xəritə vəzifələri nəticələr istifadə edir. azaltmaq vəzifələri yekun nəticələrinə daxil data birləşdirmək. qiyabi, HDFS da MapReduce çərçivə mağazalar nəticələri.

azaltmaq mərhələsi xəritəsi mərhələsində çıxış asılıdır olsa da, xəritə və mütləq ardıcıl deyil emal azaltmaq. Bu, hər hansı bir xəritə tapşırıq tamamlayır kimi azaltmaq vəzifələri tezliklə başlaya bilər. Hər hansı bir başlaya bilər vəzifə azaltmaq əvvəl bütün xəritə vəzifələri başa çatdırmaq üçün lazım deyil.

MapReduce əsas dəyər cüt fəaliyyət. konseptual, bir MapReduce iş input açar dəyər cüt bir sıra edir və xəritə vasitəsilə məlumatların keçərək çıxış əsas dəyər cüt bir sıra istehsal və funksiyaları azaldır. Xəritə vəzifələri azaltmaq vəzifələri giriş kimi istifadə edir ki əsas dəyər cüt bir ara sıra istehsal.

Xəritə çıxış cüt düymələri unikal ola lazımdır. Xəritə emalı və azaltmaq emalı arasında, bir shuffle addım bir azaltmaq giriş eyni düyməsi ilə bütün xəritə çıxış dəyərlər növ (açar, dəyəri siyahısı) cüt, harada dəyər’ eyni əsas bölüşmək bütün dəyərlərin siyahısı. Thus, Bir azaltmaq vəzifəsi giriş həqiqətən bir sıra edir (açar, dəyəri siyahısı) cüt.

əsas dəyər cüt hər set homogen olsa, Hər bir addım da əsas dəyər cüt eyni növü ehtiyac yoxdur. For example, girdi əsas dəyər cüt set (KV1) ola bilər (string, string) cüt, Xəritə mərhələsi istehsalı ilə (string, tam) aralıq nəticələr kimi cüt (KV2), və Faza istehsal azaltmaq (tam, string) son nəticələr üçün cüt (KV3).

Xəritə çıxış cüt düymələri unikal ola lazımdır. Xəritə emalı və azaltmaq emalı arasında, bir shuffle addım bir azaltmaq giriş eyni düyməsi ilə bütün xəritə çıxış dəyərlər növ (açar, dəyəri siyahısı) cüt, harada dəyər’ eyni əsas bölüşmək bütün dəyərlərin siyahısı. Thus, Bir azaltmaq vəzifəsi giriş həqiqətən bir sıra edir (açar, dəyəri siyahısı) cüt.

Misal nümayiş MapReduce anlayışlar

misal mətn faylları bir sıra hər sözü meydana sayı hesablanması əsas MapReduce konsepsiyası nümayiş etdirir.

MapReduce input data giriş olur bölünür, və böler daha input açar dəyəri cüt bölünür. Bu misalda, input data set iki sənədlər, document1 və Document2. InputFormat yarımsinif data sənəd hər bir split daxil müəyyən ayırır, üzrə cəmi 2 böler:

Qeyd: MapReduce çərçivəsində iş konfiqurasiya təchiz org.apache.hadoop.mapreduce.InputFormat yarımsinif istifadə chunks adlı böler daxil müəyyən input data ayırır. Böler Job Tracker mövcud iş informasiya yerli Job Müştəri tərəfindən yaradılmış və daxil edilir. JobTracker hər split üçün xəritə vəzifə yaradır. Hər bir xəritə tapşırıq giriş əsas dəyər cüt parçalanması çevirmək InputFormat yarımsinif nəzərdə tutulmuş RecordReader istifadə.

A (line sayı, mətn) əsas dəyər cüt giriş sənəd hər xətti üçün yaradılan. Xəritə funksiyası line sayı silməyi və başına line istehsal (söz, saymaq) input line hər bir söz üçün cüt. The mərhələsi istehsal azaltmaq (söz, saymaq) bütün giriş sənədlər arasında məcmu söz sayar edən cüt. misal iş üçün xəritə-azaltmaq inkişaf göstərilir input data nəzərə alaraq:

Xəritə mərhələsində çıxış eyni düyməsi ilə çox əsas dəyər cüt var: "yulaf’ və yemək’ düymələri iki dəfə görünür. MapReduce çərçivəsində azaltmaq mərhələsinə daxil əvvəl eyni düyməsi ilə bütün dəyərləri birləşdirir Xatırladaq ki,, belə azaltmaq üçün giriş əslində (açar, dəyərlər) cüt. Buna görə də, Xəritə çıxış tam inkişaf, vasitəsilə azaltmaq, son nəticələrinə yuxarıda göstərilən.

MapReduce Job Life Cycle

tipik MapReduce iş ömrü və ibtidai actors.The tam həyat dövrü rolu ardından biz əsas komponentləri üzərində belə ki, daha mürəkkəb.

Hadoop konfiqurasiya müxtəlif yollarla həyata lakin əsas konfiqurasiya aşağıdakılardan ibarətdir bilər.

  • Job Tracker çalışan Single master node
  • Task Tracker çalışan çox işçi qovşaqlarının

MapReduce iş ömrü komponentləri aşağıdakılardır.

  • Yerli İş müştəri: yerli iş Client təqdim iş hazırlayır və İş Tracker onu əlləri.
  • Job Tracker: Job Tracker cədvəllər iş və paralel emal üçün Task takipçileri arasında xəritə iş paylayır.
  • Task Tracker: Hər Task Tracker bir Map Task spawns. Job Tracker Task takipçileri irəliləyiş məlumat alır.

Xəritə nəticələri mövcuddur sonra, Job Tracker paralel emal üçün Task takipçileri arasında azaltmaq iş paylayır.

Hər Task Tracker iş yerinə yetirmək üçün Task azaltmaq spawns. Job Tracker Task takipçileri irəliləyiş məlumat alır.

Bütün xəritə vəzifələri əvvəl başa vəzifələri yayınlanmaya başlar azaltmaq yoxdur. Xəritə vəzifələri başa başlamaq kimi azaltmaq vəzifələri tezliklə başlaya bilər. Thus, Xəritə addımlar tez-tez üst-üstə düşür azaltmaq.

MapReduce iş müxtəlif komponentlərinin İşlevsellik

İş Client: İş müştəri aşağıdakı vəzifələri həyata keçirir

  • iş konfiqurasiya doğrular
  • input olur yaradır. Bu əsasən chunks daxil input iş parçalanması olunur
  • Nüsxələr siyahısını (konfiqurasiya, iş JAR fayl, input böler) paylaşılan yeri, Belə bir HDFS kataloq kimi, Əyyub Tracker və Task takipçileri üçün əlçatan olduğu
  • İş Tracker iş təqdim

Job Tracker: Job Tracker aşağıdakı vəzifələri həyata keçirir

  • İş Client məlumat yerləşdirilib paylaşdı yerdən daxil olur alınır
  • hər split üçün xəritə vəzifə yaradır
  • Task Tracker hər xəritəsi tapşırıq verir (işçi node)

Xəritə məsələ tam sonra, Job Tracker aşağıdakı vəzifələri yoxdur

  • iş konfiqurasiya effektiv maksimum vəzifələri azaltmaq yaradır.
  • Bir azaltmaq vəzifə hər xəritə nəticə bölüm verir.
  • hər bir Task Tracker vəzifəsi azaltmaq verir.

Task Tracker: A Task Tracker bir işçi node vəzifələri idarə və İş Tracker statusu hesabat.

xəritə və ya tapşırıq azaltmaq ona həvalə zaman Task Tracker aşağıdakı vəzifələri yoxdur

  • yerli siyahısını alınır
  • işçi node bir uşaq JVM xəritə icra və ya tapşırıq azaltmaq üçün spawns
  • İş Tracker statusu hesabat

Map azaltmaq Ayıklama

Hadoop proqram icrası zamanı mühüm hadisələr logs saxlayır. qiyabi, Bu logs saxlanılır / Hadoop versiyası / kataloq alt siz Hadoop run. Log faylları Hadoop-istifadəçi adı-service-hostname.log adına. Ən son məlumatlar Log faylı var; yaşlı logs öz tarixi onlara əlavə var. log fayl istifadəçi adı Hadoop başlandı altında istifadəçi adı aiddir — Bu mütləq proqramları çalıştırmak üçün istifadə eyni istifadəçi adı deyil. xidmət adı bir neçə Hadoop proqramları olan günlük yazılı aiddir; tezis jobtracker ola bilər, namenode, datanode, secondarynamenode, və ya tasktracker. Bütün bunlar bütün Hadoop quraşdırma ayıklama üçün vacibdir. Amma ayrı-ayrı proqramları üçün, tasktracker logs ən müvafiq olacaq. Proqram tərəfindən atılan istənilən istisnalar tasktracker logs qeyd olunacaq.

log directory də alt adlı userlogs olacaq. Burada hər tapşırıq run üçün bir alt var. Hər bir məsələ bu kataloq iki faylları öz stdout və stderr qeyd. bir çox node Hadoop çoxluq Qeyd edək ki,, Bu logs Mərkəzləşdirilmiş məcmu deyil — onların çıxış üçün hər TaskNode nin logs / userlogs / kataloq yoxlamaq lazımdır.

paylandı qəbulu Ayıklama mürəkkəbdir və log məlumat daxil olmaq üçün bir neçə maşın daxil tələb. Əgər mümkünsə, proqramları yerli Hadoop çalışan test vahid olmalıdır. Hadoop tərəfindən istifadə default konfiqurasiya çalışır “bir instansiya” mode, bütün MapReduce proqram Java eyni halda run harada JobClient.runJob deyilən kimi(). Eclipse kimi ayıklama istifadə, Daha sonra xəritədə daxili breakpoints bilərsiniz() və ya azaltmaq() üsulları hataları tapmaq üçün.

məcburi iş azaltmaq?

Bəzi iş xəritə mərhələsində bütün işlərini başa bilər. SO iş yalnız iş xəritəsi ola bilər. Xəritə tamamlayır sonra iş dayandırmaq üçün, sıfıra azaltmaq vəzifələri sayı.

Nəticə

Bu modul Hadoop sisteminin ürək MapReduce icra platforma təsvir. MapReduce istifadə edərək, paralellik yüksək dərəcə proqramları ilə əldə edilə bilər. MapReduce çərçivə qovşaqlarının arasında baş verə bilər rabitə məhdudlaşdırılması tərəfindən çalışan proqramları üçün günah tolerantlıq yüksək dərəcədə təmin edir.

============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share