Video: ATV nu da scanteie, cdi, bobina, aprindere 2024
Apache Hadoop este o platformă gratuită, open source pentru scrierea și rularea de aplicații care prelucrează o cantitate mare de date pentru analiza predictivă. Permite o prelucrare paralelă distribuită a seturilor de date mari, generate din surse diferite. În esență, este un instrument puternic pentru stocarea și procesarea datelor importante.
Hadoop stochează orice tip de date, structurat sau nestructurat, din diferite surse - și apoi agregă acele date în aproape orice fel doriți. Hadoop se ocupă de date eterogene prin procesarea paralelă distribuită - ceea ce îl face un cadru foarte eficient pentru utilizarea în software-ul analitic care se ocupă de date mari. Nu e de mirare că unele companii mari adoptă Hadoop, inclusiv Facebook, Yahoo!, Google, IBM, Twitter și LinkedIn.
Înainte de Hadoop, companiile nu au putut să profite de date mari, care nu au fost analizate și aproape inutilizabile. Costul de stocare a datelor respective într-o bază de date relațională proprietară și crearea unui format structurat în jurul acesteia nu justifică beneficiile analizării acestor date și al utilizării acesteia.
Hadoop, pe de altă parte, face această sarcină fără probleme - la o fracțiune din cost - permițând companiilor să găsească informații valoroase în datele abundente pe care le-au dobândit și acumulează.
Nu trebuie să construiți o schemă înainte de a vă face să înțelegeți datele dvs.; Hadoop vă permite să interogați aceste date în formatul lor original.
Hadoop folosește două componente principale (subproiecte) pentru a-și face treaba: MapReduce și Hadoop Distributed File System. Cele două componente funcționează în mod cooperativ:
MapReduce
-
: implementarea de către Hadoop a MapReduce se bazează pe cercetarea Google privind modelele de programare pentru a procesa seturi de date mari, împărțind-le în mici blocuri de sarcini. MapReduce utilizează algoritmi distribuiți, pe un grup de computere într-un grup, pentru a procesa seturi de date mari.Se compune din două funcții: Funcția
-
Map () care se află pe nodul principal (computer conectat la rețea). El împarte interogarea sau sarcina de intrare în subtascuri mai mici, pe care le distribuie apoi nodurilor ale lucrătorilor care procesează sarcinile mai mici și trimit răspunsurile la nodul principal. Subtaskele sunt executate în paralel pe mai multe computere. Funcția
-
Reduce () colectează rezultatele tuturor subtaskelor și le combină pentru a produce un rezultat final agregat - pe care îl returnează ca răspuns la interogarea originală mare. Sistemul de fișiere distribuite Hadoop (HDFS)
-
-
: HDFS replică blocurile de date care se află pe alte computere din centrul de date (pentru a asigura fiabilitatea) și gestionează transferul de date către diferitele părți ale sistemului distribuit. Luați în considerare o bază de date cu două miliarde de oameni și presupuneți că doriți să calculați numărul de prieteni sociali ai domnului X și să-i aranjați în funcție de locațiile lor geografice. E o comandă înaltă.
Datele pentru două miliarde de persoane ar putea proveni din surse diferite, cum ar fi rețelele sociale, listele de adrese de poștă electronică, mesajele, tweet-urile, istoricul de navigare - și doar pentru deschideri. Hadoop poate agrega această masă imensă de date, astfel încât să puteți investiga cu o simplă interogare.
Ai putea utiliza capabilitățile de programare MapReduce pentru a rezolva această interogare. Definirea hărții și a procedurilor de reducere face ca acest set de date să fie ușor de gestionat. Utilizând instrumentele oferite de cadrul Hadoop, ați crea o implementare MapReduce care ar face calculul ca două sub-sarcini:
Calculați numărul mediu de prieteni sociali ai domnului X.
-
Aranjați prietenii lui Mr. X după locația geografică.
-
Programul de implementare MapReduce va executa aceste sub-sarcini în paralel, va administra comunicarea între sub-sarcini și va asambla rezultatele. Din două miliarde de oameni, știți cine sunt prietenii online ai domnului X.
Hadoop oferă o gamă de procesoare Map; pe care o selectați va depinde de infrastructura dvs.
Fiecare procesor va procesa un anumit număr de înregistrări. Să presupunem că fiecare procesor gestionează un milion de înregistrări de date. Fiecare procesor execută o procedură Map care produce mai multe înregistrări de perechi cheie-valoare unde
G (cheie) este locația geografică o persoană (țară) și N persoane de contact. Să presupunem că fiecare procesor Map produce multe perechi ale formularului, cum ar fi următoarele:
Harta procesorului # 1:
Harta procesorului # 2:
Harta procesorului # 3:
:
Hartă procesor # 5:
Hartă procesor # 6:
În faza Reduce, Hadoop atribuie o sarcină unui anumit număr de procesoare: Executați procedura Reduce care agregă valorile acelorași chei pentru a produce un rezultat final. Pentru acest exemplu, implementarea Reduce însumează numărul de valori pentru fiecare cheie - locație geografică. Deci, după faza Map, faza Reduce produce următoarele:
------ ----
În mod clar, domnulX este un tip popular - dar acesta a fost un exemplu foarte simplu despre modul în care MapReduce poate fi folosit. Imaginați-vă că aveți de-a face cu un set mare de date în care doriți să efectuați operații complexe, cum ar fi gruparea de miliarde de documente în care operațiunea și datele sunt prea mari pentru ca o singură mașină să se ocupe. Hadoop este instrumentul de luat în considerare.