Database
 sql >> डेटाबेस >  >> RDS >> Database

हडूप में MapReduce कैसे काम करता है

MapReduce सस्ती मशीनों के बड़े समूहों के साथ बिग डेटा समस्याओं के एक वर्ग को हल करने की एक विधि के रूप में Google द्वारा पेश किया गया एक मॉडल था। Hadoop इस मॉडल को अपनी कार्य प्रक्रिया के मूल में समाहित करता है। यह आलेख बिग डेटा समस्या को हल करने में Hadoop द्वारा उपयोग किए गए MapReduce मॉडल का एक परिचयात्मक विचार देता है।

अवलोकन

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

Google ने स्थिति का समाधान करने के लिए MapReduce एल्गोरिथम का उपयोग किया और एक समाधान के साथ आया। विचार यह है कि बड़े कार्य को छोटे प्रबंधनीय भागों में विभाजित किया जाए और उन्हें प्रसंस्करण के लिए नेटवर्क में कंप्यूटरों में वितरित किया जाए। इस प्रकार प्राप्त परिणाम को अंतिम डेटासेट बनाने के लिए एकीकृत किया जाता है। यह विचार डौग कटिंग के Hadoop प्रोजेक्ट का आधार बन गया। Hadoop बड़े डेटा सेट पर संपूर्ण सांख्यिकीय विश्लेषण देने के लिए डेटा को समानांतर में संसाधित करने के लिए इस एल्गोरिथम का उपयोग करता है। इसलिए, Hadoop को मोटे तौर पर दो भागों में विभाजित किया जा सकता है:

  • संसाधन: MapReduce एल्गोरिथम द्वारा उत्तोलन किया गया
  • संग्रहण: एचडीएफएस द्वारा उत्तोलन

Hadoop MapReduce इस प्रकार Apache Hadoop प्रोजेक्ट द्वारा विकसित और अनुरक्षित एल्गोरिथम का कार्यान्वयन है। यह अपने आप में एक मशीन की तरह काम करता है जहां हम इनपुट प्रदान करते हैं और इंजन कई चरणों के माध्यम से प्रसंस्करण, जल्दी और कुशलता से इनपुट को आउटपुट में बदलकर प्रतिक्रिया करता है। इस अति सरल विचार को थोड़ा विस्तार की आवश्यकता है क्योंकि यह नीचे की रेखा का अनुसरण करता है।

MapReduce

MapReduce एक समानांतर प्रोग्रामिंग मॉडल है जिसका उपयोग वितरित एप्लिकेशन वातावरण में तेजी से डेटा प्रोसेसिंग के लिए किया जाता है। यह कमोडिटी हार्डवेयर नेटवर्क में क्लस्टर (हजारों नोड्स) में वितरित डेटासेट (डेटा के मल्टी-टेराबाइट्स) पर काम करता है। MapReduce प्रोग्राम Hadoop पर चलते हैं और इन्हें कई भाषाओं में लिखा जा सकता है- Java, C++, Python और Ruby। MapReduce कार्यक्रम की सिद्धांत विशेषता यह है कि इसने कार्यक्रमों में समानता की भावना को स्वाभाविक रूप से आत्मसात कर लिया है। यह बड़े पैमाने पर डेटा विश्लेषण के लिए इसे आदर्श बनाता है जो मौजूदा बुनियादी ढांचे से परिणामों को अधिक कुशलता से और जल्दी से निचोड़ने के लिए समानांतरवाद के मॉडल का लाभ उठा सकता है।

यह कैसे काम करता है

Hadoop MapReduce कार्यों को कई चरणों में विभाजित करता है, प्रत्येक बड़े डेटा से वांछित परिणाम निकालने के लिए कार्यों के एक महत्वपूर्ण सेट के साथ। यह कमोडिटी सर्वर के संग्रह पर होस्ट किए गए क्लस्टर में नोड्स पर काम करता है। प्रक्रिया उपयोगकर्ता के अनुरोध के साथ शुरू होती है जो MapReduce इंजन चलाता है और परिणाम को वापस HDFS में संग्रहीत करने के साथ समाप्त होता है।

हम JobClient.runJob(conf) को लागू करके चलाने के लिए MapReduce कार्य आरंभ कर सकते हैं तरीका। नया JobClient . बनाने के लिए यह एक सुविधाजनक तरीका है उदाहरण। यह बदले में submitJob() . को आमंत्रित करता है और हर सेकेंड में जॉब की प्रगति को पोल करता है और पिछली रिपोर्ट जेनरेट होने के बाद से कोई बदलाव होने पर कंसोल पर वापस रिपोर्ट करता है। इसका एक लहर प्रभाव पड़ता है और पर्दे के पीछे संचालन के एक सेट को ट्रिगर करता है। पहला कदम उस इनपुट फ़ाइल को ढूंढना और पढ़ना है जिसमें कच्चा डेटा होता है। फ़ाइल प्रारूप मनमाना है और इसे प्रसंस्करण के लिए उपयुक्त प्रारूप में परिवर्तित किया जाना चाहिए। InputFormat . के लिए यह कार्य है और RecordReader(RR) . इनपुटफ़ॉर्मैट इनपुटस्प्लिट . नामक फ़ंक्शन का उपयोग करता है फ़ाइल को छोटे भागों में विभाजित करने के लिए। RecorReader(RR) फिर अपरिष्कृत डेटा को रूपांतरित करता है और इसे मानचित्र . द्वारा संसाधन के लिए उपलब्ध कराता है ।

मैपिंग

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

कम करें और मर्ज करें

जो कम मिलता है वह भी एक कुंजी, मूल्य जोड़ी है और नक्शे के समान ही कार्य करता है। यह क्लस्टर में कई मानचित्र कार्यों से मानचित्र आउटपुट एकत्र करता है और मानचित्रण पूर्ण होने के बाद ही प्रसंस्करण शुरू करता है। इसमें मैप द्वारा प्रदान किए गए आउटपुट को मर्ज करने और डिस्क पर फैलाने के लिए कॉपियर थ्रेड्स का एक सेट होता है। जैसे ही डिस्क पर प्रतियां जमा हो जाती हैं, एक बैकग्राउंड थ्रेड उन्हें बड़ी, सॉर्ट की गई फाइलों में मर्ज करने का काम करता है। यह एक कुंजी, मूल्य युग्म के रूप में आउटपुट भी प्रदान करता है और इसे OutputFormat द्वारा पुन:स्वरूपित करने की आवश्यकता हो सकती है आवेदन प्रारूप को स्वीकार करने में सक्षम होने से पहले। आउटपुटफ़ॉर्मैट अंतिम कुंजी, मूल्य जोड़ी लेता है और संसाधित डेटा को एचडीएफएस को वापस लिखता है। यहां, रिकॉर्ड राइटर RecordReader . जैसी प्रमुख भूमिका निभाता है , सिवाय इसके कि यह शुरुआत में HDFS से पढ़ते समय भाग लेता है।

निष्कर्ष

यह केवल एक ऊपरी हिस्सा है। कई जटिल विवरण हैं और बहुत कुछ पर्दे के पीछे चलता रहता है। संक्षेप में, Hadoop MapReduce बिग डेटा को छोटे, प्रबंधनीय भागों में तोड़ने की क्षमता प्रदान करता है, उन्हें एक वितरित क्लस्टर पर समानांतर में संसाधित करता है, और अंत में, डेटा को उपभोग या अतिरिक्त प्रसंस्करण के लिए उपलब्ध कराता है। Hadoop आज अत्याधुनिक बिग डेटा समस्याओं को हल करने के लिए उपकरणों और प्रौद्योगिकियों का एक बड़ा पारिस्थितिकी तंत्र बन गया है और इसकी विशेषताओं को परिष्कृत करने के लिए तेजी से विकसित हो रहा है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. बिक्री रिकॉर्ड करने के लिए एक डेटाबेस मॉडलिंग। भाग 1

  2. SQL में REPLACE का उपयोग कैसे करें

  3. प्लान एक्सप्लोरर 3.0 वेबिनार - नमूने और प्रश्न और उत्तर

  4. डेटा मॉडल वैश्वीकरण के बारे में याद रखने योग्य 7 प्रमुख बातें

  5. SQLCMD का उपयोग करके SQL डेटाबेस रखरखाव कार्य चलाना