Mis on MapReduce?
Programmeerimisraamistikku MapReduce kasutatakse hajutatud keskkonnas hajutatud ja paralleelse töötlemise läbiviimiseks suurte andmekogumitega. Kaart ja Vähenda on kaks kaartide vähendamise programmi erinevat ülesannet. Alguses kaardifaasis loetakse andmed läbi ja neist genereeritakse võtme-väärtuse paarid. Seejärel suunatakse need võtme-väärtuse paarid vähendamisülesandesse, mis koondab võtme-väärtuse paari andmed väiksemateks väärtuste kogumiks, mis annavad lõppväljundi. Seega rakendatakse vähendamisülesanne alati pärast kaardiülesande täitmist. Andmetöötlust on väga lihtne skaleerida mitme arvutisõlme kaudu.
Nimelt on programmis kolm etappi:
- Kaardietapp
- Shuffle Stage
- Vähenda etappi
Näide :
Wordcount'i probleem-
Oletame, et allpool on sisendandmed:
- Mike Jon Jake
- Paul Paul Jake
- Mike Paul Jon
1. Ülaltoodud andmed jagunevad kolmeks sisendjaotuseks järgmiselt:
- Mike Jon Jake
- Paul Paul Jake
- Mike Paul Jon
2. Seejärel sisestatakse need andmed järgmisse faasi, mida nimetatakse kaardistamise faasiks.
Nii et esimese rea jaoks (Mike Jon Jake) on meil kolm võtme-väärtuse paari - Mike, 1; Jon, 1; Jake, 1.
Allpool on tulemus kaardistamise faasis:
- Mike, 1
Jon, 1
Jake, 1 - Paulus, 1
Paulus, 1
Jake, 1 - Mike, 1
Paulus, 1
Jon, 1
3. Ülaltoodud andmed suunatakse järgmisse faasi, mida nimetatakse sortimis- ja segamisfaasiks.
Selles faasis rühmitatakse andmed kordumatuteks võtmeteks ja sorteeritakse. Allpool on tulemus sortimis- ja segamisfaasis:
- Jake, (1, 1)
- Jon, (1, 1)
- Mike, (1, 1)
- Paulus, (1, 1, 1)
4. Ülaltoodud andmed sisestatakse järgmisse faasi, mida nimetatakse redutseerimise faasiks.
Siin liidetakse kõik põhiväärtused ja loendatakse 1-de arv. Allpool on tulemus vähendamise faasis:
- Jake, 2
- Jon, 2
- Mike, 2
- Paul, 3
MapReduce eelised:
Siit õpime MapReduce'i programmeerimisraamistiku olulisi eeliseid,
1. Skaleeritavus
Hadoop kui väga skaleeritav platvorm, mis on suuresti tänu oma võimalusele salvestada ja levitada suuri andmekogumeid paljude serverite vahel. Siin kasutatavad serverid on üsna odavad ja saavad paralleelselt töötada. Süsteemi töötlemisvõimsust saab parandada, kui lisate veel servereid. Traditsioonilised relatsioonandmebaaside haldussüsteemid või RDBMS ei suutnud ulatuslikult töödelda tohutuid andmekogumeid.
2. Paindlikkus
Programmeerimismudel Hadoop MapReduce pakub paindlikkust struktuuri või struktureerimata andmete töötlemiseks erinevate ettevõtlusorganisatsioonide poolt, kes saavad andmeid kasutada ja saavad töötada erinevat tüüpi andmetega. Seega saavad nad luua äriväärtuse nendest andmetest, mis on ettevõtlusorganisatsioonidele analüüsimiseks olulised ja kasulikud. Sõltumata andmeallikast, olgu selleks siis sotsiaalmeedia, klikk, e-post jne. Hadoop pakub tuge paljudele andmetöötluseks kasutatavatele keeltele. Koos kõige sellega võimaldab Hadoop MapReduce programmeerimine paljusid rakendusi, näiteks turundusanalüüsi, soovitussüsteemi, andmeladu ja pettuste tuvastamist.
3. Turvalisus ja autentimine
Kui mõni kõrvaline inimene pääseb juurde kõigile organisatsiooni andmetele ja saab manipuleerida mitme petabaiti andmetega, võib see kahjustada äriettevõttega seotud äritehinguid. Selle riskiga tegeleb MapReduce'i programmeerimismudel, töötades HDD-de ja HBase-iga, mis võimaldab kõrget turvalisust, võimaldades süsteemis salvestatud andmetega töötada ainult kinnitatud kasutajal.
4. Tasuv lahendus
Selline süsteem on väga skaleeritav ja on väga kuluefektiivne lahendus ärimudeli jaoks, mis peab salvestama andmeid, mis kasvavad praeguse päeva nõudmistega hüppeliselt. Vanade traditsiooniliste relatsiooniliste andmebaaside haldussüsteemide puhul ei olnud mastaapsuse osas andmete töötlemine nii lihtne kui Hadoopi süsteemi puhul. Sellistel juhtudel oli ettevõte sunnitud andmeid vähendama ja liigitama täiendavalt eeldustel, kuidas teatud andmed võivad olla organisatsiooni jaoks väärtuslikud ja eemaldades seega lähteandmed. Siin tuleb appi Hadoopi skaalaarhitektuur koos MapReduce'i programmeerimisega.
5. Kiire
Hadoopi hajutatud failisüsteem HDFS on Hadoopis kasutatav põhifunktsioon, mis põhiliselt juurutab kaardistamissüsteemi klastris andmete leidmiseks. MapReduce'i programmeerimine on andmetöötluseks kasutatav tööriist ja see asub samas serveris, võimaldades andmete kiiremat töötlemist. Hadoop MapReduce töötleb suures mahus andmeid, mis on lühema aja jooksul struktureerimata või poolstruktureeritud.
6. Programmeerimise lihtne mudel
MapReduce'i programmeerimine põhineb väga lihtsal programmeerimismudelil, mis põhimõtteliselt võimaldab programmeerijatel välja töötada MapReduce'i programmi, mis saab hõlpsamalt ja tõhusamalt hakkama paljude muude ülesannetega. MapReduce'i programmeerimismudel on kirjutatud Java keeles. See on väga populaarne ja seda on väga lihtne õppida. Inimestel on lihtne õppida Java äritegevuse vajadustele vastavat Java-programmeerimist ja andmetöötluse mudelit.
7. Paralleelne töötlemine
Programmeerimismudel jagab ülesanded viisil, mis võimaldab iseseisvat ülesannet paralleelselt täita. Seetõttu lihtsustab selline paralleelne töötlemine protsessidel kõigi ülesannete täitmist, mis aitab programmi käivitada palju lühema aja jooksul.
8. Kättesaadavus ja vastupidavus
Programmeerimismudel Hadoop MapReduce töötleb andmeid, saates andmed üksikutele sõlmedele, samuti edastab sama andmekogumi teistele võrgus asuvatele sõlmedele. Selle tulemusel on konkreetse sõlme rikke korral sama andmekoopia endiselt saadaval ka teistes sõlmedes, mida saab kasutada alati, kui see on andmete kättesaadavuse tagamiseks vajalik.
Sel viisil on Hadoop tõrketaluvusega. See on Hadoopi MapReduce'is pakutav ainulaadne funktsionaalsus, mis suudab tõrke kiiresti ära tunda ja rakendada automaatse taastamise lahenduse kiirparandust.
Kogu maailmas on palju kaarte vähendavaid ettevõtteid (nt facebook, yahoo jne).
Järeldus - mis on MapReduce
Map redigeerimisel on võrreldes traditsiooniliste RDBMS-süsteemidega suur andmetöötlusvõime. Paljud organisatsioonid on selle potentsiaali juba realiseerinud ja lähevad selle uue tehnoloogia juurde. On selge, et map-reduct on suures andmetöötlusplatvormis väga pikk aeg minna.
Soovitatavad artiklid
See on olnud teemaks Mis on MapReduce. Siin arutasime MapReduce'i põhikontseptsiooni, näiteid ja eeliseid. Lisateavet leiate ka meie muudest soovitatud artiklitest -
- Mis on JavaScript?
- MapReduce'i intervjuu küsimused
- Mis on Python
- Kuidas MapReduce töötab?
- Mis on suurandmed ja Hadoop