Thursday, June 30, 2016

మేప్ రెడూస్ (MapReduce) అంటే ఏమిటి?

మేప్ రెడూస్ (MapReduce) అంటే ఏమిటి?

గత బ్లాగులో హడూప్ ని పరిచయం చేసేను కదా. ఈ హడూప్ లో రెండు భాగాలు ఉన్నాయి: ఒకటి హడూప్ పరిచారకి (Hadoop File Server), రెండవది “మేప్‌రెడూస్ (MapReduce).

“హడూప్ పరిచారకి” అనేది భారీ ఎత్తున దత్తాంశాలని దాచుకునే కొట్టు; ప్రత్యేకమైన హంగులతో ఉన్న కొట్టు గది. ఈ కొట్టు గది లేదా కోష్ఠం గురించి గత బ్లాగులో కొద్దిగా చెప్పేను కదా. ఇప్పుడు ఆ రెండవ భాగం గురించి టూకీగా చెబుతాను.

ప్రతి ప్రాణికి మెదడు, గుండెకాయ ఎలాంటివో, ప్రతి కంప్యూటరుకీ కలన కలశం (processing unit), కోష్ఠం (storage unit) అలాంటివి. హడూప్‌లో ఉన్న “కలన కలశాన్ని” భారీ ఎత్తున కలనం చెయ్యడానికి అనువుగా నిర్మించి, దానికి “మేప్‌రెడూస్” అని ముద్దు పేరు పెట్టుకున్నారు. “మేప్‌రెడూస్” లో సాధారణ కలన కలశాలవంటి కలశాలు వందలు, వేల కొద్దీ ఉంటాయి. పెద్ద బరువుని లాగవలసి వచ్చినప్పుడు ఒక ఏనుగు చేత లాగించవచ్చు లేదా పది గుర్రాల చేత లాగించవచ్చు. అలాగే భారీ ఎత్తున కలనం చెయ్యవలసి వచ్చినప్పుడు హడూప్‌లో వందల కొద్దీ కలశాలని ఉపయోగించి పని చేయిస్తారు.

చిన్న ఉదాహరణ ఇస్తాను. ఆంధ్ర ప్రదేశ్ జనాభా ఎంతో కనుక్కోవాలని ఉందనుకుందాం. ఒక గుమస్తాకి ఈ పని అప్పజెబితే ఈ పని అవకుండానే ఆ గుమస్తా ఆయువు నిండిపోతుంది. అందుకని జిల్లాకి ఒక అధికారిని నియమించి ప్రతి జిల్లా జనాభా కనుక్కోడానికి నిశ్చయిద్దాం. పదమూడు జిల్లాలలోను పని ప్రారంభం అయింది. ఇలా జిల్లాలవారీగా పనిని ముక్కలుగా చేసి  పంపిణీ చెయ్యడాన్ని “మేపింగ్” (mapping) అంటారు. ప్రతి జిల్లా నుండి జనాభా లెక్కల నివేదికలు, ఒకటీ, ఒకటీ వస్తాయి. అన్ని నివేదికలూ వచ్చే వరకు ఆగి, వాటన్నిటిని కలిపే యంత్రాన్ని “రెడూసర్” అంటారు.

టూకీగా అదీ "మేప్‌రెడూస్” అంటే! పరిచారికనీ, మేప్‌రెడూస్‌నీ కలిపి హడూప్ అంటారు.