mapreduceमानचित्रण के साथ आरंभ हो रहा है


टिप्पणियों

यह खंड मानचित्रण क्या है का एक सिंहावलोकन प्रदान करता है, और क्यों एक डेवलपर इसका उपयोग करना चाहता है।

इसमें मैप्रेडिक के भीतर किसी भी बड़े विषयों का भी उल्लेख होना चाहिए, और संबंधित विषयों के लिए लिंक करना चाहिए। चूंकि मानचित्रण के लिए दस्तावेज़ीकरण नया है, इसलिए आपको उन संबंधित विषयों के प्रारंभिक संस्करण बनाने की आवश्यकता हो सकती है।

स्थापना या सेटअप

मेप्रेडिसे हडोप का एक हिस्सा है। इसलिए जब Apache Hadoop (या Hadoop का कोई वितरण स्थापित होता है) MR स्वचालित रूप से स्थापित हो जाता है।

MapReduce HDFS (Hadoop वितरित फ़ाइल सिस्टम) पर डेटा प्रोसेसिंग फ्रेमवर्क है। एमआर जॉब्स शायद जावा, अजगर, स्काला, आर, आदि का उपयोग करके लिखी गई हैं।

मानचित्रण क्या और कैसे करता है?

Mapreduce (बहुत) बड़ी मात्रा में डेटा पर प्रसंस्करण करने के लिए एक प्रोग्रामिंग मॉडल है।

कंप्यूटिंग की समस्याओं को संभालने के लिए अत्यधिक जुड़े हुए कंप्यूटरों का उपयोग करके (बेहद त्वरित नेटवर्किंग जैसी चीजों का उपयोग करके, और साझा भंडारण, साझा मेमोरी के लिए त्वरित पहुंच), का निर्माण करके पारंपरिक 'एचपीसी' (उच्च प्रदर्शन कम्प्यूटिंग) अपेक्षाकृत बड़ी मात्रा में डेटा की गणना करता है। आमतौर पर गणना की आवश्यकता होती है ताकि एक दूसरे के डेटा तक पहुंच हो। एक क्लासिक उदाहरण मौसम का पूर्वानुमान है।

डेटा की भारी मात्रा पर अपेक्षाकृत छोटी, स्वतंत्र गणना से निपटने के लिए दूसरी ओर एक्सेल पर नक्शा। इसे संभव बनाने के लिए, डेटा कई कंप्यूटरों (डेटा की मात्रा के कारण) में फैला हुआ है, और वांछित गणना एक ऐसे चरण में विभाजित है जिसे स्वतंत्र रूप से प्रत्येक डेटा पर ('मैप' चरण) किया जा सकता है। इन स्वतंत्र गणनाओं के परिणाम फिर एकत्रित किए जाते हैं और इन सभी व्यक्तिगत परिणामों को अंतिम परिणाम ('कम' चरण) में संयोजित करने के लिए गणना का एक दूसरा भाग किया जाता है।


उदाहरण: वोटों की गिनती

कल्पना कीजिए कि आपके पास गिनने के लिए बहुत बड़ी मात्रा में वोट हैं, और प्रत्येक वोट को गिनने के लिए थोड़ा काम है (उदाहरण के लिए स्कैन की गई छवि से पता लगाना कि कौन सा बॉक्स टिक गया था)।

इस मामले में, एक मानचित्रण कार्यान्वयन होगा:

चरण 1: 'स्प्रेड'

उपलब्ध कंप्यूटर पर संसाधित करने के लिए छवियों को फैलाएं।

चरण 2: 'मानचित्र'

प्रत्येक कंप्यूटर पर, प्रत्येक छवि के लिए:

  • एक इनपुट के रूप में इस कंप्यूटर पर कॉपी की गई छवियों में से 1 को लें
  • पता करें कि कौन सा बॉक्स टिक किया गया था
  • जिस आइटम के लिए वोट दिया गया है उसका नंबर (या कोड या नाम) आउटपुट करें

ध्यान दें कि काम शुरू हो सकता है जैसे ही कंप्यूटर को काम करने के लिए 1 छवि मिलती है। इन सभी कंप्यूटरों को अपने काम करने के लिए बातचीत करने की कोई आवश्यकता नहीं है, इसलिए उन्हें जल्दी से परस्पर जुड़ने की कोई आवश्यकता नहीं है, साझा स्मृति या साझा डिस्कस्पेस है।

चरण 3: 'इकट्ठा'

1 कंप्यूटर पर इन सभी आउटपुट को इकट्ठा करें।

चरण 4: 'कम करें'

गिनती करें कि प्रत्येक संख्या (या कोड या नाम) के कितने वोट हैं।

यह बहुत ही मूल उदाहरण इस बात पर भी प्रकाश डालता है कि अक्सर अनुकूलन कैसे संभव है। इस स्थिति में प्रत्येक कंप्यूटर पर आंशिक रूप से कम किया जा सकता है, और फिर एक केंद्रीय कंप्यूटर पर अंतिम रूप से कम किया जा सकता है। यह दोनों कम कदम चलने वाले एक कंप्यूटर पर काम की मात्रा को कम करेगा, और नेटवर्क पर ले जाने के लिए आवश्यक डेटा की मात्रा को सीमित करेगा।


उदाहरण: मतगणना - अनुकूलित (कॉम्बीनेटर का उपयोग करके)

चरण 1: 'स्प्रेड'

पहले की तरह ही: उपलब्ध कंप्यूटर पर संसाधित करने के लिए छवियों को फैलाएं।

चरण 2: 'मानचित्र'

पहले की तरह ही: प्रत्येक कंप्यूटर पर, प्रत्येक छवि के लिए:

  • एक इनपुट के रूप में इस कंप्यूटर पर कॉपी की गई छवियों में से 1 को लें
  • पता करें कि कौन सा बॉक्स टिक किया गया था
  • जिस आइटम के लिए वोट किया गया है उसका नंबर (या कोड या नाम) आउटपुट करें

चरण 3: 'इकट्ठा' स्थानीय रूप से

कंप्यूटर पर 1 कंप्यूटर के सभी आउटपुट इकट्ठा करें।

चरण 4: स्थानीय रूप से 'कम करें'

गिनें कि प्रत्येक संख्या (या कोड या नाम) के कितने वोट स्थानीय परिणामों में हैं और इन गणनाओं को आउटपुट करते हैं।

चरण 5: विश्व स्तर पर 'इकट्ठा'

1 कंप्यूटर पर स्थानीय के सभी आउटपुट को कम करता है।

चरण 6: विश्व स्तर पर 'कम करें'

प्रत्येक संख्या (या कोड या नाम) के वोटों की स्थानीय रूप से की गई गणनाओं को जोड़ दें।


ध्यान दें कि चरण 3 में नीचे के किसी भी मामले में सभी परिणामों की प्रतीक्षा करना आवश्यक नहीं है :

  • अगर यह कंप्यूटर के लिए बहुत अधिक हो जाता है तो स्थानीय संसाधन जैसे भंडारण / मेमोरी
  • यदि कंप्यूटर के टूटने पर काम की लागत को फिर से किया जाए तो सभी स्थानीय परिणामों के लिए प्रतीक्षा करना बड़ा माना जाता है
  • यदि नेटवर्क अब मध्यवर्ती परिणामों के परिवहन के लिए स्वतंत्र है

स्थानीय सभा और स्थानीय कम करना स्थानीय कंप्यूटर पर अब तक उत्पन्न परिणामों पर किया जा सकता है, और यह किसी भी समय किया जा सकता है।

लोकल कम स्टेप को कॉम्बिनर स्टेप कहा जाता है। यह एक वैकल्पिक कदम है जिसका उपयोग प्रदर्शन को बेहतर बनाने के लिए किया जाता है।