Acasă Finanțe personale Cum se utilizează MapReduce pentru Big Data - dummies

Cum se utilizează MapReduce pentru Big Data - dummies

Cuprins:

Video: Technology Stacks - Computer Science for Business Leaders 2016 2024

Video: Technology Stacks - Computer Science for Business Leaders 2016 2024
Anonim

MapReduce este un cadru software care este ideal pentru date mari, deoarece permite dezvoltatorilor să scrie programe care pot procesa cantități masive de date nestructurate în paralel într-un grup distribuit de procesoare.

Funcția hartă pentru date mari

Funcția hartă a fost o parte a multor limbi de programare funcționale de ani de zile. Harta a fost reinvigorată ca o tehnologie de bază pentru procesarea listelor de elemente de date.

Operatorii în limbi funcționale nu modifică structura datelor; ele creează noi structuri de date ca ieșire. Datele originale însăși nu sunt modificate. Deci, puteți utiliza funcția de hartă cu impunitate, deoarece nu vă va afecta datele stocate prețioase.

Un alt avantaj al programării funcționale nu este acela de a gestiona în mod expres mișcarea sau fluxul de date. Aceasta absolvă programatorul de la gestionarea explicită a datelor de ieșire și plasare. În cele din urmă, ordinea operațiunilor cu datele nu este prescrisă.

O modalitate de a realiza soluția este identificarea datelor introduse și crearea unei liste:

mylist = ("toate județele din noi care au participat la cele mai recente alegeri generale") > Creați funcția howManyPeople utilizând funcția de hartă

. Selectează doar județele cu mai mult de 50 000 de persoane: map howManyPeople (mylist) = [howManyPeople "county 1"; howManyPeople "județul 2"; howManyPeople "județul 3"; howManyPeople "județul 4"; …]

Acum produceți o nouă listă de producție a tuturor județelor cu populații mai mari de 50 000:

(nu, județul 1; da, județul 2; nu, județul 3; da, județul 4;; jnnnn)
Funcția se execută fără a se aduce modificări la lista originală. În plus, puteți vedea că fiecare element al listei de ieșiri se potrivește cu un element corespunzător al listei de intrări, cu un atașat da sau nu. Dacă județul a îndeplinit cerința a peste 50 000 de persoane, funcția hărții o identifică cu un răspuns da. În caz contrar, nu este indicat.

Adăugați funcția de reducere a datelor mari

Ca și funcția de hartă,

reduce a fost o caracteristică a limbajelor de programare funcționale de mai mulți ani. Funcția de reducere ține de ieșirea unei funcții de hartă și "reduce" lista, indiferent de modul dorit de programator. Primul pas pe care funcția de reducere o cere este să plaseze o valoare în ceva numit

acumulator , care deține o valoare inițială. După stocarea unei valori de pornire în acumulator, funcția de reducere apoi procesează fiecare element al listei și efectuează operația de care aveți nevoie în lista.

La sfârșitul listei, funcția de reducere returnează o valoare pe baza operației pe care ați dorit să o efectuați în lista de rezultate.

Să presupunem că trebuie să identificați județele în care majoritatea voturilor au fost pentru candidatul democrat. Amintiți-vă că funcția hărții howManyPeople a analizat fiecare element al listei de intrări și a creat o listă de rezultate ale județelor cu mai mult de 50 000 de persoane (da) și județele cu mai puțin de 50 000 de persoane (nu).

După ce ați invocat funcția howManyPeople, aveți următoarea listă de ieșire:

(nu, județ 1, da, județ 2, nu, județ 3;, county nnn)

Aceasta este acum intrarea pentru funcția de reducere. Iată cum arată:

countylist = (nu, județul 1; da, județul 2; nu, județul 3; da, județul 4;; jnnnnn) reduce isDemocrat (numărătoarea)

fiecare element al listei și returnează o listă a tuturor județelor cu o populație mai mare de 50 000, unde majoritatea a votat Democrat.

Introducerea hărții mari de date și reducerea împreună

Câteodată producerea unei liste de ieșire este suficientă. De asemenea, este suficient să faceți operațiuni pe fiecare element al unei liste. Cel mai adesea, doriți să căutați cantități mari de date de intrare, să selectați anumite elemente din date și apoi să calculați ceva de valoare din piesele relevante.

Nu doriți să schimbați această listă de intrări, astfel încât să o puteți utiliza în diferite moduri, cu noi ipoteze și noi date.

Dezvoltatorii de software dezvoltă aplicații bazate pe algoritmi. Un algoritm

nu este altceva decât o serie de pași care trebuie să apară în serviciul unui obiectiv general. S-ar putea să pară puțin: Începeți cu un număr mare de date sau înregistrări.

  1. Iterați peste date.

  2. Utilizați funcția hartă pentru a extrage ceva de interes și pentru a crea o listă de rezultate.

  3. Organizați lista de ieșire pentru a optimiza prelucrarea ulterioară.

  4. Utilizați funcția de reducere pentru a calcula un set de rezultate.

  5. Produceți rezultatul final.

  6. Programatorii pot implementa toate tipurile de aplicații utilizând această abordare, dar exemplele la acest punct au fost foarte simple, deci valoarea reală a MapReduce poate să nu fie evidentă. Ce se întâmplă când aveți date de intrare extrem de mari? Puteți utiliza același algoritm pe terabytes de date? Vestea bună este da.

Toate operațiunile par independente. Asta pentru că sunt. Puterea reală a MapReduce este capacitatea de a diviza și de a cuceri. Luați o problemă foarte mare și spargeți-o în bucăți mai mici, mai ușor de gestionat, acționați independent pe fiecare bucată și apoi trageți-le tot la capăt. În plus, funcția hărții este comutativă - cu alte cuvinte, ordinea în care o funcție este executată nu contează.

Deci, MapReduce își poate desfășura activitatea pe diferite mașini dintr-o rețea. Poate de asemenea să tragă din mai multe surse de date, interne sau externe. MapReduce ține evidența activității sale, creând o cheie unică pentru a se asigura că întreaga prelucrare are legătură cu rezolvarea aceleiași probleme.Această cheie este, de asemenea, utilizată pentru a trage toate rezultatele împreună la sfârșitul tuturor sarcinilor distribuite.

Cum se utilizează MapReduce pentru Big Data - dummies

Alegerea editorilor

Evaluarea Vizualizărilor de date - dummies

Evaluarea Vizualizărilor de date - dummies

Vizualizările de date pot fi foarte colorate și impresionante. Dar amintiți-vă că cheia pentru crearea unor vizualizări eficiente de date nu depinde de faptul dacă este interesantă, ci mai degrabă de faptul dacă descoperă problemele reale de afaceri care trebuie abordate. O foaie de lucru vă ajută să creați propriile vizualizări de date sau să evaluați creațiile altora. Aici ...

Determinarea programului care funcționează cel mai bine pentru nevoile tale informatice

Determinarea programului care funcționează cel mai bine pentru nevoile tale informatice

Să lucreze mai bine decât celălalt. În timp, veți dezvolta un sentiment dacă Illustrator sau Photoshop se potrivesc mai bine pentru diverse sarcini. Până atunci, iată un exemplu despre modul în care fiecare program gestionează diferite elemente ale lucrării de design grafic. Graphing Photoshop nu este un program de grafic. Tu ...

Infografice nevergreen: Închirierea obiectelor Build - dummies

Infografice nevergreen: Închirierea obiectelor Build - dummies

Infografics evergreen nu sunt legate de niciun eveniment sau persoană în știri . Ele nu au o componentă sezonieră și nu sunt legate de ceva în timp util. O infographic despre cum se fac CD-urile se va aplica pentru că este vorba de muzică, dar nu este specifică nici unui artist sau gen. Cu infografiile veșnic verzi, ignorați complet evenimentele curente și explorați ideile ...

Alegerea editorilor

Utilizați Zoom în Adobe Photoshop CS5 - manechine

Utilizați Zoom în Adobe Photoshop CS5 - manechine

Adobe Creative Suite 5 oferă scurtături pentru Zooming în Photoshop. Imaginile care arată bine la un nivel de zoom pot părea extrem de proaste la altul. Veți mări și micșora destul de des în timp ce lucrați la imagini în Photoshop. Puteți găsi opțiuni de meniu pentru zoom în meniul Vizualizare; o modalitate mai rapidă de a mări este ...

Text în Photoshop CC - dummies

Text în Photoshop CC - dummies

Când editați o imagine cu text în Photoshop CC, puteți schimba linia care fluxul dvs. de tip fie folosind funcția Warp Text sau tastând pe o cale. Tipul de deformare utilizează forme predefinite la care se formează tipul dvs. (și poate fi utilizat atât cu tipul de punct, cât și cu paragraful) și tastând ...

Alegerea editorilor

Cum se adaugă Biblioteca RegEx în C ++ - dummies

Cum se adaugă Biblioteca RegEx în C ++ - dummies

Cea mai mare parte a bibliotecii Boost funcționează bine adăugând la codul aplicației. Cu toate acestea, câteva componente, cum ar fi RegEx, necesită o bibliotecă. Înainte de a putea folosi o bibliotecă, trebuie să o construiți. După ce ați construit biblioteca, trebuie să o adăugați în aplicație. Există două tehnici de adăugare a ...

Cum Heap Works în C ++ - dummies

Cum Heap Works în C ++ - dummies

Halda este un bloc amorf de memorie pe care programul C ++ îl poate accesa după cum este necesar. Aflați de ce există și cum se utilizează. Așa cum este posibil să treci un pointer la o funcție, este posibil ca o funcție să returneze un pointer. O funcție care returnează adresa ...

Cum să evitați codul de injectare în C ++ - dummies

Cum să evitați codul de injectare în C ++ - dummies

Prima regulă de evitare a codului injectat în programele C ++ , permiterea prelucrării datelor de către un interpret de limbă cu scop general. O eroare obișnuită cu SQL-injectarea este că programul acceptă intrarea utilizatorului ca și cum ar fi fost întotdeauna acceptabilă și îl inserează într-o interogare SQL pe care o trimite apoi la ...