MapReduce este un concept de programare esențial pe care trebuie să-l stăpânești pentru a deveni un inginer profesionist de date. Oferă soluții pentru sistemele distribuite de gestionare a fișierelor de date mari. Prin urmare, înțelegerea fundalului teoretic MapReduce va face ușoară învățarea tehnicii în sine.

Dar ce este MapReduce și cum funcționează în sistemele de fișiere distribuite? Veți afla în această postare.

Ce este MapReduce?

MapReduce este un model de inginerie a datelor aplicat programelor sau aplicațiilor care procesează logica datelor mari în clustere paralele de servere sau noduri. Distribuie o logică de procesare în mai multe noduri de date și agregează rezultatele în client-server.

MapReduce asigură că procesarea este rapidă, eficientă din punct de vedere al memoriei și fiabilă, indiferent de dimensiunea datelor.

Sistemul de fișiere Hadoop (HDFS), Sistemul de fișiere Google (GFS), Apache Kafka, GlusterFS și altele sunt exemple de sisteme de fișiere de date mari distribuite care utilizează algoritmul MapReduce.

instagram viewer

Ce este un sistem de fișiere distribuit?

Un sistem de fișiere distribuit (DFS) este o metodă de stocare în calcul care implică împărțirea fișierelor mari de date în bucăți mai mici și răspândirea lor pe mai multe servere din sistem. Le permite clienților din diverse surse să scrie și să citească date, să partajeze și să ruleze logica programabilă pe date, chiar de oriunde.

Un sistem de fișiere distribuit constă de obicei din serverul primar (numit și NameNode în Hadoop), clustere paralele și mai multe noduri sau servere care conțin bucăți de date replicate, toate într-o dată centru. Cu toate acestea, fiecare cluster din sistemul de fișiere distribuit deține sute până la mii de aceste noduri.

Serverul primar detectează automat modificările din cadrul clusterelor. Deci poate atribui roluri în mod corespunzător fiecărui nod.

Când serverul primar primește un fișier de date, îl trimite către clusterele din DFS. Aceste clustere fragmentează și distribuie datele în fiecare nod din ele. Fiecare nod replic apoi datele în ceea ce se numește blocuri de date pentru a forma un lanț. În acest moment, fiecare nod devine un server chunk.

Legate de:Ce sunt centrele de date și de ce sunt importante?

Pe lângă gestionarea accesului la date, serverul principal deține o adnotare de metadate pe fiecare fișier. În acest fel, știe ce nod se ocupă de ce fișier din fiecare cluster.

Cum funcționează MapReduce în sistemele de fișiere distribuite?

După cum am menționat mai devreme, datele mari sunt disponibile pe mai multe servere de bloc într-un DFS. O modalitate de a realiza logica programabilă pe aceste fișiere de date este să le agregați într-unul singur. Apoi le puteți trage într-un singur server, care acum se ocupă de logica.

Deși acesta este un mod convențional de a interoga datele, problema este că datele devin din nou un întreg în interiorul unui singur server. Deci, un singur server va trebui să gestioneze logica pe mai mulți petaocteți de date simultan. Din păcate, aceasta a fost problema pe care sistemul intenționa să o rezolve la început. Deci nu este o practică bună, până la urmă.

Legate de:Cum să interogați mai multe tabele de baze de date simultan cu uniuni SQL

Mai mult, o astfel de agregare într-un singur server prezintă mai multe riscuri de performanță. Acestea pot varia de la o prăbușire a serverului, eficiență slabă de calcul, latență mare, consum mare de memorie și vulnerabilități până la mai multe.

Dar o altă modalitate de a rula logica programabilă este să lăsați datele în bucăți în interiorul fiecărui server distribuit. Și apoi injectați funcția logică în fiecare server. Înseamnă că fiecare server fragment dintr-un cluster se ocupă acum de calculul său. Utilizarea acestei abordări înseamnă că nu este nevoie să agregați sau să extrageți date într-un singur server.

Că există conceptul MapReduce într-un sistem de fișiere de date distribuite. Se asigură că un singur server nu trebuie să extragă date din sursă. În schimb, dispersează funcția de procesare (MapReduce) în mai multe noduri în bucăți separate clustere, astfel încât fiecare nod din fiecare cluster gestionează logica individual, fără a supraîncărca niciunul Server.

În consecință, mai multe servere gestionează concomitent logica pe biți de date. Această distribuție a forței de muncă între servere are ca rezultat o performanță optimă și o securitate mai mare, printre alte aspecte pozitive.

Cum este procesat rezultatul MapReduce într-un DFS?

Iată cum funcționează întreaga procesare MapReduce într-un DFS:

  • Serverul primar primește o interogare de date mari (funcția MapReduce) de la client.
  • Apoi trimite acest lucru fiecărui cluster pentru a-l răspândi pe fiecare nod din el.
  • Fiecare nod procesează funcția MapReduce și cumulează rezultatul acesteia.
  • Un alt server colecționează rezultatele de la fiecare nod și le trimite înapoi la serverul principal.
  • Serverul primar trimite apoi rezultatul ca răspuns către client.

Astfel, singura sarcină a unui server primar este să trimită clientului un rezultat ușor de calculat, să asculte modificările și să gestioneze accesul la date. Nu efectuează niciun calcul. Acesta este motivul pentru care majoritatea aplicațiilor de cloud computing sunt impresionant de rapide, în ciuda cantității de date pe care le procesează.

Ce este exact harta și reducerea în MapReduce?

MapReduce folosește două logici de programare pentru a procesa date mari într-un sistem de gestionare a fișierelor distribuite (DFS). Acestea sunt o hartă și o funcție de reducere.

The Hartă funcția efectuează sarcina de procesare pe fiecare dintre nodurile de date din fiecare cluster al unui sistem de fișiere distribuit. The reduce funcția apoi agregează rezultatele returnate de fiecare server chunk și le transmite unui alt server din DFS pentru agregarea rezultatelor. Serverul de primire trimite acest calcul la serverul primar, care postează valoarea returnată pe serverul de pe partea client.

Ce se întâmplă când un server de bloc se defectează?

Serverele dintr-un sistem de fișiere distribuit (DFS) pot experimenta uneori perioade de nefuncționare. S-ar putea să credeți că acest lucru va distruge întregul sistem, dar nu este așa.

Există un sistem în calcul care previne o astfel de defecțiune iminentă. Se numește toleranță la greșeală.

Legate de:Ce este cloud computing? Cum funcționează tehnologia cloud?

Prin urmare, chiar și atunci când un server se oprește în timpul procesării datelor, toleranța la erori asigură că serverul primar îl detectează imediat. Și, deoarece există o replică a fragmentelor de date de-a lungul nodurilor, serverul principal transferă instantaneu jobul de procesare pe un alt server. În acest fel, timpul de nefuncționare a serverului în cadrul DFS nu afectează procesarea datelor.

MapReduce ușurează procesarea datelor mari

MapReduce este un model esențial care facilitează calculul în sistemele de fișiere distribuite. Deoarece permite mai multor noduri să execute un calcul concomitent, este o metodă rapidă folosită de diverși giganți ai tehnologiei pentru a rezolva multe dintre problemele care însoțesc analiza big data.

Google, Amazon, IBM, printre altele, sunt exemple de companii care folosesc acest concept. Google, de exemplu, aplică conceptul MapReduce pentru a aduce rezultate ale interogărilor în timpul căutării Google.

Ce sunt Big Data, de ce sunt importante și cât de periculoase sunt?

Big data alimentează multe industrii și au un efect asupra vieților noastre. Dar este mai periculos sau mai util?

Citiți în continuare

AcțiuneTweetE-mail
Subiecte asemănătoare
  • Programare
  • Programare
  • Date mare
  • Analiza datelor
Despre autor
Idowu Omisola (133 articole publicate)

Idowu este pasionat de orice tehnologie inteligentă și productivitate. În timpul liber, se joacă cu codificarea și trece la tabla de șah când se plictisește, dar îi place și să se desprindă de rutină din când în când. Pasiunea lui pentru a le arăta oamenilor calea în jurul tehnologiei moderne îl motivează să scrie mai mult.

Mai multe de la Idowu Omisola

Aboneaza-te la newsletter-ul nostru

Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Click aici pentru a te abona