Introducere în componentele Hadoop

Componentele Hadoop sunt în principal HDFS, Map Reduce, Fire. Astăzi trăim într-o epocă digitală în care rata de producție a datelor este foarte ridicată, aproximativ producem 2, 5 cantece de date pe zi. Deși capacitatea de stocare a discurilor este în creștere, dar rata de căutare nu a crescut pentru acest volum de date. Pentru a depăși acest lucru, trebuie să citim paralel datele, pentru a obține acest lucru în Hadoop avem un HDFS (Hadoop Distributed File System) unde seturile de date sunt stocate ca blocuri în HDFS (pentru mai multe detalii consultați secțiunea HDFS) pentru a citi datele în paralel și pentru a realiza rata mai mare de procesare. Prelucrarea datelor se face pentru a obține sau pentru a prognoza informații semnificative sau pentru a obține unele tendințe sau modele. Procesul MapReduce este utilizat pentru a obține informațiile dorite. Harta și Reducerea sunt cele două faze diferite ale procesării datelor.

Componente majore ale Hadoop

Componentele majore ale Hadoop sunt descrise mai jos:

1. Sistem de fișiere distribuite Hadoop (HDFS)

HDFS este stratul de stocare pentru Big Data, este un grup de mai multe mașini, datele stocate pot fi utilizate pentru procesare cu Hadoop. Odată ce datele sunt împinse către HDFS, le putem prelucra oricând, până când vom prelucra datele vor fi rezidențiate în HDFS până când ștergem fișierele manual. HDFS stochează datele sub forma unui bloc, dimensiunea minimă a blocului este de 128 MB în Hadoop 2.x, iar pentru 1.x a fost de 64 MB. HDFS reproduce blocurile pentru datele disponibile dacă datele sunt stocate într-o singură mașină și dacă mașina nu reușește să nu se piardă, dar pentru a le evita, datele sunt reproduse pe diferite mașini. Factorul de replicare implicit este 3 și putem schimba în HDFS-site.xml sau folosind comanda Hadoop fs -strep -w 3 / dir prin replicarea avem blocurile de pe diferite mașini pentru o disponibilitate ridicată.
HDFS este o arhitectură master-slave, este NameNode ca master și Data Node ca slave. NameNode este mașina în care sunt stocate toate metadatele din toate blocurile stocate în DataNode.

2. FIER

YARN a fost introdus în Hadoop 2.x, înainte ca Hadoop să aibă un JobTracker pentru gestionarea resurselor. Job Tracker era stăpânul și avea ca sclav un Task Tracker. Job Tracker a fost cel care a avut grijă de programarea lucrărilor și de alocare a resurselor. Task Tracker folosit pentru a avea grijă de sarcini Map and Reduce și starea a fost actualizată periodic la Job Tracker. With este un tip de manager de resurse, a avut o limită de scalabilitate, iar executarea concomitentă a sarcinilor a fost de asemenea limitată. Aceste probleme au fost abordate în YARN și s-au ocupat de alocarea resurselor și de programarea posturilor într-un cluster. Executarea unei hărți Reducerea necesită locuri de muncă de resurse într-un cluster, pentru a obține resursele alocate pentru lucrarea Ajută YARN. YARN stabilește ce lucrare este făcută și ce mașină este făcută. Are toate informațiile despre nucleele disponibile și memoria din cluster, urmărește consumul de memorie din cluster. Acesta interacționează cu Nume Nume despre datele în care se află pentru a lua decizia cu privire la alocarea resurselor.

3. MapReduce

Ecosistemul Hadoop este un mod eficient de rentabilitate, scalabil și flexibil cu seturi de date atât de mari. Hadoop este un cadru care folosește un anumit model de programare, numit MapReduce, pentru dezbinarea sarcinilor de calcul în blocuri care pot fi distribuite în jurul unui grup de mașini de marfă utilizând Hadoop Distributed Filesystem (HDFS).

MapReduce este două sarcini diferite Map and Reduce, Map precedă faza Reducer. Așa cum sugerează numele Map Map mapă datele în perechi cheie-valoare, după cum știm cu toții că Hadoop utilizează valorile cheie pentru procesare. Faza reductoare este faza în care avem logica reală care trebuie implementată. În afară de aceste două faze, implementează și faza de amestecare și sortare.

1. Mapper

Mapper este clasa în care fișierul de intrare este convertit în pereche de chei și valori pentru procesare ulterioară. În timp ce citiți datele, acestea sunt citite doar în valorile cheie, atunci când tasta este offset de biți și valoarea este întreaga înregistrare.

De exemplu, avem un fișier Diary.txt în care avem două linii scrise, adică două înregistrări.

Aceasta este o zi minunată de care ar trebui să ne bucurăm aici, compensațiile pentru 't' este 0 și pentru 'w' este 33 (spațiile albe sunt considerate de asemenea un personaj) așa că, mapatorul va citi datele ca pereche cheie-valoare, ca (cheie, valoare), (0, aceasta este o zi minunată), (33, ar trebui să ne bucurăm)

2. Reducător

Reducer este clasa care acceptă tastele și valorile din ieșirea din faza de mape. Tastele și valorile generate din mapper sunt acceptate ca intrare în reductor pentru prelucrarea ulterioară. Reducer acceptă date de la mai mulți mapari. Reducerul agregă acele date intermediare la un număr redus de chei și valori care este ieșirea finală, vom vedea acest lucru în exemplu.

3. Șofer

În afară de clasa mapper și reductor, avem nevoie de încă o clasă care este clasa Driver. Acest cod este necesar pentru MapReduce, deoarece este legătura dintre cadrul și logica implementată. Acesta specifică configurația, calea datelor de intrare, calea de stocare a ieșirii și, cel mai important, ce clase mapper și reductor trebuie să fie implementate, de asemenea, multe alte configurații sunt setate în această clasă. de exemplu, în clasa de driver, putem specifica separatorul pentru fișierul de ieșire așa cum se arată în clasa de conducător a exemplului de mai jos.

Exemplu

Luați în considerare că avem un set de date al agenției de turism, acum trebuie să calculăm din datele pe care câți oameni aleg să călătorească către o anumită destinație. Pentru a realiza acest lucru, va trebui să luăm destinația ca cheie, iar pentru numărare, vom lua valoarea ca 1. Deci, în faza de mapare, vom fi destinația de mapare la valoarea 1. Acum, în faza de modificare și sortare după mapator, acesta va cartografia toate valorile către o anumită cheie. De exemplu, dacă avem o destinație ca MAA, am mapat 1, de asemenea, avem 2 apariții după amestecare și sortare, vom obține MAA, (1, 1) unde (1, 1) este valoarea. Acum, în faza reductorului, avem deja o logică implementată în faza reductorului pentru a adăuga valorile pentru a obține numărul total al biletului rezervat pentru destinație. Acesta este fluxul MapReduce.

Mai jos este ecranul programului implementat pentru exemplul de mai sus.

1. Clasa de șoferi

2. Clasa Mapper

3. Clasa reductorului

Executarea Hadoop-ului

Pentru executarea Hadoop, mai întâi trebuie să construim borcanul și apoi putem executa folosind comanda de mai jos Hadoop jar eample.jar /input.txt /output.txt

Concluzie

Aici am discutat componentele de bază ale Hadoop cum ar fi HDFS, Map Reduce și YARN. Este un cadru de calcul distribuit în cluster care ajută la stocarea și procesarea datelor și la analiza necesară asupra datelor capturate. Hadoop este flexibil, fiabil în ceea ce privește datele, deoarece datele sunt reproduse și scalabile, adică putem adăuga mai multe mașini în cluster pentru stocarea și procesarea datelor.

Articole recomandate

Acesta a fost un ghid pentru componentele Hadoop. Aici am discutat componentele de bază ale Hadoop cu exemple. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Introducere în JDBC Architecture
  2. Ce este Hadoop Cluster?
  3. Ce este MapReduce în Hadoop?
  4. Ce este Big Data și Hadoop
  5. Hadoop fs Commands

Categorie: