MapReduce ir būtiska programmēšanas koncepcija, kas jums jāapgūst, lai kļūtu par profesionālu datu inženieri. Tas nodrošina risinājumus izplatītām lielo datu failu pārvaldības sistēmām. Tādējādi, izprotot MapReduce teorētisko pamatojumu, pats tehnikas apgūšana būs vienkārša.

Bet kas ir MapReduce un kā tas darbojas izplatītajās failu sistēmās? Jūs uzzināsit šajā ierakstā.

Kas ir MapReduce?

MapReduce ir datu inženierijas modelis, ko izmanto programmām vai lietojumprogrammām, kas apstrādā lielo datu loģiku paralēlos serveru vai mezglu klasteros. Tas sadala apstrādes loģiku vairākos datu mezglos un apkopo rezultātus klienta serverī.

MapReduce nodrošina, ka apstrāde ir ātra, efektīva atmiņai un uzticama neatkarīgi no datu lieluma.

Hadoop failu sistēma (HDFS), Google failu sistēma (GFS), Apache Kafka, GlusterFS un citas ir izplatītu lielo datu failu sistēmu piemēri, kas izmanto MapReduce algoritmu.

Kas ir izplatīta failu sistēma?

Izkliedētā failu sistēma (DFS) ir datu glabāšanas metode skaitļošanā, kas ietver lielu datu failu sadalīšanu mazākos gabalos un izplatīšanu pa vairākiem sistēmas serveriem. Tas ļauj klientiem no dažādiem avotiem rakstīt un lasīt datus, koplietot datus un palaist programmējamu loģiku tieši no jebkuras vietas.

instagram viewer

Izplatītā failu sistēma parasti sastāv no primārā servera (hadoop saukta arī par NameNode), paralēlas kopas un vairāki mezgli vai serveri, kas satur replicētus datu gabalus, un tas viss ir datos centrs. Tomēr katrā klasterī izplatītajā failu sistēmā ir simtiem līdz tūkstošiem šo mezglu.

Primārais serveris automātiski nosaka izmaiņas klasteros. Tātad tas var atbilstoši piešķirt lomas katram mezglam.

Kad primārais serveris saņem datu failu, tas nosūta to klasteriem DFS. Šīs kopas sadala datus un sadala tos katrā mezglā. Katrs mezgls pēc tam replicē datus tā sauktajos datu blokos, lai izveidotu ķēdi. Šajā brīdī katrs mezgls kļūst par gabala serveri.

Saistīts:Kas ir datu centri un kāpēc tie ir svarīgi?

Papildus piekļuves pārvaldīšanai datiem primārais serveris satur metadatu anotāciju katrā failā. Tādā veidā tas zina, kurš mezgls apstrādā kādu failu katrā klasterī.

Kā MapReduce darbojas izplatītajās failu sistēmās?

Kā minēts iepriekš, lielie dati ir pieejami vairākos DFS serveros. Viens no veidiem, kā šajos datu failos veikt programmējamu loģiku, ir tos apkopot vienā. Pēc tam varat tos ievietot vienā serverī, kas tagad apstrādā loģiku.

Lai gan tas ir parasts datu vaicāšanas veids, problēma ir tā, ka dati atkal kļūst par veselumu vienā serverī. Tātad vienam serverim joprojām būs jāpārvalda vairāku datu petabaitu loģika vienlaikus. Diemžēl šī bija problēma, ko sistēma sākotnēji plānoja atrisināt. Galu galā tā nav labākā prakse.

Saistīts:Kā vaicāt vairākās datu bāzes tabulās vienlaikus, izmantojot SQL savienojumus

Turklāt šāda apkopošana vienā serverī rada vairākus veiktspējas riskus. Tie var būt no servera avārijas, sliktas aprēķinu efektivitātes, liela latentuma, liela atmiņas patēriņa un ievainojamībām un citām.

Bet vēl viens veids, kā palaist programmējamo loģiku, ir atstāt datus gabalos katrā izplatītajā serverī. Un pēc tam ievadiet loģisko funkciju katrā serverī. Tas nozīmē, ka katrs klastera gabala serveris tagad aprēķina. Izmantojot šo pieeju, nav nepieciešams apkopot vai ievilkt datus vienā serverī.

Ka izplatītā datu failu sistēmā ir MapReduce koncepcija. Tas nodrošina, ka vienam serverim nav nepieciešams iegūt datus no avota. Tā vietā tas sadala apstrādes funkciju (MapReduce) vairākos atsevišķos mezglu mezglos klasterus, tāpēc katrs mezgls katrā klasterī apstrādā loģiku atsevišķi, nepārslogojot vienu serveris.

Līdz ar to vairāki serveri vienlaikus apstrādā datu bitu loģiku. Šāda darbaspēka sadale starp serveriem nodrošina optimālu veiktspēju un augstāku drošību, kā arī citas priekšrocības.

Kā MapReduce rezultāts tiek apstrādāts DFS?

Lūk, kā visa MapReduce apstrāde darbojas DFS:

  • Primārais serveris saņem lielu datu vaicājumu (funkcija MapReduce) no klienta.
  • Pēc tam tas nosūta to katram klasterim, lai izplatītu to katrā tā mezglā.
  • Katrs mezgls apstrādā funkciju MapReduce un uzkrāj tās rezultātu.
  • Cits serveris salīdzina katra mezgla rezultātus un nosūta tos atpakaļ uz primāro serveri.
  • Pēc tam primārais serveris nosūta rezultātu kā atbildi klientam.

Tādējādi primārā servera vienīgais uzdevums ir nosūtīt klientam viegli aprēķinātu rezultātu, klausīties izmaiņas un pārvaldīt piekļuvi datiem. Tas neveic nekādus aprēķinus. Tāpēc lielākā daļa mākoņdatošanas lietojumprogrammu darbojas iespaidīgi ātri, neskatoties uz to apstrādāto datu apjomu.

Kas īsti ir MapReduce karte un samazināšana?

MapReduce izmanto divas programmēšanas loģikas, lai apstrādātu lielus datus sadalītā failu pārvaldības sistēmā (DFS). Tās ir karte un samazināšanas funkcija.

The karte funkcija veic apstrādes darbu katrā datu mezglā katrā izplatītās failu sistēmas klasterī. The samazināt pēc tam funkcija apkopo katra gabala servera atgrieztos rezultātus un nosūta to citam serverim DFS, lai apkopotu rezultātus. Saņēmējs serveris nosūta šo aprēķinu primārajam serverim, kas ievieto atgriezto vērtību klienta puses serverim.

Kas notiek, kad pazūd gabala serveris?

Serveriem izplatītajā failu sistēmā (DFS) dažkārt var rasties dīkstāve. Jūs varētu domāt, ka tas izjauks visu sistēmu, bet tā nav.

Ir skaitļošanas sistēma, kas novērš šādu gaidāmo sabrukumu. To sauc par kļūdu toleranci.

Saistīts:Kas ir mākoņdatošana? Kā darbojas mākoņtehnoloģijas?

Tādējādi pat tad, ja datu apstrādes laikā serveris izslēdzas, kļūdu tolerance nodrošina, ka primārais serveris to konstatē nekavējoties. Un tā kā mezglos ir datu gabalu kopija, primārais serveris uzreiz pārsūta apstrādes darbu uz citu serveri. Tādā veidā servera dīkstāve DFS neietekmē datu apstrādi.

MapReduce atvieglo lielo datu apstrādi

MapReduce ir būtisks modelis, kas atvieglo skaitļošanu sadalītajās failu sistēmās. Tā kā tā ļauj vairākiem mezgliem vienlaikus veikt aprēķinus, tā ir ātra metode, ko izmanto dažādi tehnoloģiju giganti, lai atrisinātu daudzas problēmas, kas saistītas ar lielo datu analīzi.

Google, Amazon, IBM, cita starpā, ir piemēri uzņēmumiem, kas izmanto šo koncepciju. Piemēram, Google izmanto MapReduce koncepciju, lai Google meklēšanas laikā parādītu vaicājuma rezultātus.

Kas ir lielie dati, kāpēc tie ir svarīgi un cik tie ir bīstami?

Lielie dati sniedz spēku daudzām nozarēm un ietekmē mūsu visu dzīvi. Bet vai tas ir bīstamāk vai noderīgāk?

Lasiet Tālāk

DalītiesČivinātE-pasts
Saistītās tēmas
  • Programmēšana
  • Programmēšana
  • Lielie dati
  • Datu analīze
Par autoru
Idowu Omisola (Publicēti 133 raksti)

Idowu aizraujas ar jebko viedo tehnoloģiju un produktivitāti. Brīvajā laikā viņš spēlējas ar kodēšanu un pārslēdzas uz šaha galdu, kad viņam ir garlaicīgi, taču viņam patīk arī ik pa laikam atrauties no rutīnas. Viņa aizraušanās parādīt cilvēkiem ceļu par modernajām tehnoloģijām motivē viņu rakstīt vairāk.

Vairāk no Idowu Omisola

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai saņemtu tehniskos padomus, pārskatus, bezmaksas e-grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu