Video: Node js and Express tutorial for Absolute Beginners 2024
MapReduce este o paradigmă de programare proiectată pentru a permite procesarea paralelă distribuită a seturilor mari date, transformându-le în seturi de tupluri și apoi combinând și reducând aceste tupluri în seturi mai mici de tupluri. În termeni de layman, MapReduce a fost conceput pentru a lua date mari și pentru a folosi calculul distribuit paralel pentru a transforma datele mari în date de dimensiuni mici sau normale.
Procesarea paralelă distribuită se referă la un cadru puternic în care volumele de date de masă sunt procesate foarte rapid prin distribuirea sarcinilor de procesare în cadrul grupurilor de servere de mărfuri. În ceea ce privește MapReduce, tuple se referă la perechi cheie-valoare prin care datele sunt grupate, sortate și procesate.
Lucrările MapReduce funcționează prin hartă și reduc secvențele de operare pe un set de servere distribuite. În sarcina a hărții , vă delegați datele la perechi cheie-valoare, transformați-o și filtrați-o. Apoi alocați datele la noduri pentru procesare.
În sarcina reduceți sarcina , agregați aceste date până la seturi de dimensiuni mai mici. Datele din pasul de reducere se transformă într-un format standard - unde tasta acționează ca identificator de înregistrare, iar valoarea este valoarea identificată de către cheie. Nodurile de calcul ale clusterelor procesează harta și reduc sarcinile definite de utilizator. Această lucrare se face în conformitate cu următorii doi pași:
-
Harta datelor.
Datele primite trebuie mai întâi să fie delegate în perechi cheie-valoare și împărțite în fragmente, care sunt apoi atribuite sarcinilor de hartă. Fiecare cluster de calcul - un grup de noduri care sunt conectate între ele și efectuează o sarcină comună de calcul - li se alocă o serie de sarcini de hartă, care sunt apoi distribuite între nodurile sale.
După procesarea perechilor cheie-valoare, se generează perechi intermediare cheie-valoare. Perechile intermediare cheie-valoare sunt sortate după valorile lor cheie, iar această listă este împărțită într-un nou set de fragmente. Indiferent ce număr ai pentru aceste noi fragmente, va fi același cu numărul de sarcini reduse.
-
Reduceți datele.
Fiecare sarcină de reducere are un fragment atribuit acesteia. Sarcina de reducere procesează fragmentul și produce o ieșire, care este și o pereche cheie-valoare. Reducerea sarcinilor este, de asemenea, distribuită între diferitele noduri ale clusterului. După terminarea sarcinii, ieșirea finală este scrisă pe un sistem de fișiere.
Pe scurt, puteți să aruncați rapid și eficient în jos și să începeți să înțelegeți un volum imens, o viteză și o varietate de date, utilizând hărți și reduceți sarcinile pentru a vă eticheta datele prin perechi (cheie, valoare) și apoi reduceți acele perechi în seturi de date mai mici prin operații de agregare - operații care combină mai multe valori dintr-un set de date într-o singură valoare.O diagramă a arhitecturii MapReduce poate fi găsită aici.
În cazul în care datele dvs. nu pot fi etichetate și procesate prin chei, valori și agregare, atunci harta și reducerea în general nu este potrivită pentru nevoile dvs.
Dacă utilizați MapReduce ca parte a unei soluții Hadoop, atunci ieșirea finală este scrisă pe Hadoop Distributed File System (HDFS). HDFS este un sistem de fișiere care include clustere de servere de mărfuri care sunt utilizate pentru a stoca date mari. HDFS face o manipulare și o stocare mare de date din punct de vedere financiar prin: - distribuirea sarcinilor de stocare în cadrul unor grupuri de servere de mărfuri ieftine.