मूल रूप से Tricore द्वारा प्रकाशित:10 जुलाई, 2017
Apache™ Hadoop® एक खुला स्रोत, जावा-आधारित ढांचा है जिसे एक वितरित कंप्यूटिंग वातावरण में बड़ी मात्रा में डेटा संसाधित करने के लिए डिज़ाइन किया गया है। डौग कटिंग और माइक कैफ़ेरेला ने Hadoop विकसित किया, जिसे 2005 में रिलीज़ किया गया था।
कमोडिटी हार्डवेयर पर निर्मित, Hadoop मूल धारणा पर काम करता है कि हार्डवेयर विफलताएं आम हैं। Hadoop ढांचा इन विफलताओं को संबोधित करता है।
इस दो-भाग वाली ब्लॉग श्रृंखला के भाग 1 में, हम बड़े डेटा, Hadoopecosystem, और Hadoop ढांचे के कुछ प्रमुख घटकों को शामिल करेंगे।
डेटा पहले से कहीं अधिक बड़ा है
डेटा सभी संगठनों के लिए महत्वपूर्ण है, और बड़ा डेटा विश्लेषण के लिए नए अवसर खोल रहा है जिससे मूल्यवान व्यावसायिक अंतर्दृष्टि प्राप्त हो सकती है। बिगडेटा उस डेटा को संदर्भित करता है जो किसी संगठन की भंडारण क्षमता और प्रसंस्करण शक्ति से परे है।
बड़ा डेटा सोशल नेटवर्क, क्लोज्ड कैप्शन टेलीविजन (सीसीटीवी) कैमरों, सेंसर, ऑनलाइन शॉपिंग पोर्टल, हॉस्पिटैलिटी डेटा, ग्लोबल पोजिशनिंग सिस्टम (जीपीएस), ऑटोमोबाइल उद्योग और अन्य स्रोतों से उत्पन्न हो सकता है जो बड़ी मात्रा में जानकारी उत्पन्न करते हैं।
बड़े डेटा के तीन मुख्य पहलू हैं, जिनमें से सभी अचानक गति से आगे बढ़ रहे हैं:
-
वॉल्यूम :गीगाबाइट टोटेराबाइट्स और पेटाबाइट्स से बड़े डेटा की मात्रा तेजी से बढ़ रही है। इसे संग्रहीत करने के लिए भारी मात्रा में डिस्क स्थान की आवश्यकता होती है।
-
वेग :बड़ा डेटा आमतौर पर डेटा केंद्रों में संग्रहीत किया जाता है। स्थानीय कार्य केंद्र में डेटा डिलीवर करने के लिए उच्च गति वाले डेटा प्रोसेसर की आवश्यकता होती है।
-
विविधता :डेटा को मोटे तौर पर संरचित, असंरचित, या अर्ध-संरचित के रूप में वर्गीकृत किया जा सकता है।
हम निम्नलिखित समीकरण के साथ बड़े डेटा को जोड़ सकते हैं:
बड़ा डेटा =(वॉल्यूम + वेलोसिटी + वैरायटी) डेटा का
निम्नलिखित छवि इन अवधारणाओं का एक दृश्य प्रदान करती है।
3V (वॉल्यूम, वैरायटी और वेलोसिटी)छवि स्रोत:3V (मात्रा, विविधता और वेग)
Hadoop पारिस्थितिकी तंत्र
शब्द Hadoop पारिस्थितिकी तंत्र Apache Hadoop सॉफ़्टवेयर लाइब्रेरी के विभिन्न घटकों को संदर्भित करता है। इस पारिस्थितिकी तंत्र में विभिन्न मॉड्यूल का एक सेट शामिल है जो एक दूसरे के साथ बातचीत करते हैं। ये मॉड्यूल बड़े डेटा को संसाधित करने में शामिल अद्वितीय आवश्यकताओं को पूरा करने के लिए डिज़ाइन किए गए टूल और एक्सेसरीज़ की संपत्ति प्रदान करते हैं। पारिस्थितिकी तंत्र में सभी Hadoop मॉड्यूल शामिल हैं, जिनमें Hadoop ढांचे के मुख्य घटक शामिल हैं, जिनकी हम नीचे चर्चा करते हैं, साथ ही साथ ऐड-ऑन मॉड्यूल भी।
Hadoop ढांचे के घटक
Hadoop ढांचे में निम्नलिखित मुख्य घटक शामिल हैं।
वितरित संग्रहण
Hadoop में वितरित भंडारण को सक्षम करने के लिए कई अलग-अलग टुकड़े एक साथ आते हैं।
Hadoop डिस्ट्रिब्यूटेड फ़ाइल सिस्टम
हडूप में, वितरित भंडारण को हडूप वितरित फाइल सिस्टम (एचडीएफएस) के रूप में जाना जाता है। यह प्रणाली अनावश्यक भंडारण प्रदान करती है और इसकी निम्नलिखित विशेषताएं हैं:
-
इसे कमोडिटी हार्डवेयर पर डेटा को मज़बूती से स्टोर करने के लिए डिज़ाइन किया गया है।
-
यह हार्डवेयर विफलताओं की अपेक्षा करने के लिए बनाया गया है।
-
यह बड़ी फ़ाइलों और बैच आवेषण के लिए अभिप्रेत है। (एक बार लिखें, कई बार पढ़ें।)
HBase
HBase एक वितरित, स्तंभ-उन्मुख NoSQL डेटाबेस है। HBase अपने अंतर्निहित भंडारण के लिए HDFS का उपयोग करता है और MapReduce और बिंदु प्रश्नों (रैंडम रीड्स) का उपयोग करके बैच-शैली की गणना दोनों का समर्थन करता है।
HBase निम्नलिखित कार्य भी करता है:
-
कमोडिटी हार्डवेयर के क्लस्टर के ऊपर बड़े डेटा वॉल्यूम (अरबों पंक्तियों तक) को स्टोर करता है।
-
बल्क स्टोर लॉग, दस्तावेज़, रीयल-टाइम गतिविधि फ़ीड और कच्चे आयातित डेटा।
-
Hadoop अनुप्रयोगों द्वारा उपयोग किए जाने वाले डेटा को लगातार पढ़ता और लिखता है।
-
MapReducefunctionality का उपयोग करके डेटा स्टोर को एकत्रित या संसाधित करने में सक्षम बनाता है।
-
एनालिटिक्स और मशीन लर्निंग के लिए डेटा प्लेटफॉर्म प्रदान करता है।
एचसी कैटलॉग
HCatalog, Hadoop के लिए एक टेबल और स्टोरेज प्रबंधन परत है जो Hadoop अनुप्रयोगों जैसे कि Pig™, MapReduce, और Hive™ को फाइलों के विपरीत एक सारणीबद्ध प्रारूप में डेटा को पढ़ने और लिखने में सक्षम बनाता है।
यह निम्नलिखित विशेषताएं भी प्रदान करता है:
-
Hadoop अनुप्रयोगों द्वारा उपयोग किए जाने वाले डेटा को संग्रहीत करने के लिए एक केंद्रीकृत स्थान।
-
अनुक्रमित और पुनरावृत्त Hadoop प्रक्रियाओं के लिए पुन:प्रयोज्य डेटा संग्रह।
-
एक रिलेशनल एब्स्ट्रैक्शन में डेटा स्टोरेज।
-
मेटाडेटा प्रबंधन।
वितरित प्रसंस्करण
Hadoop वितरित प्रसंस्करण को सक्षम करने के लिए MapReduce और फिर भी एक अन्य संसाधन वार्ताकार (YARN) पर निर्भर करता है।
MapReduce
MapReduce एक वितरित डेटा प्रोसेसिंग मॉडल और निष्पादन वातावरण है जो कमोडिटी मशीनों के बड़े समूहों पर चलता है। MapReduce आपको आपके द्वारा संग्रहीत डेटा से अंतर्दृष्टि बनाने में सक्षम बनाता है। यह MapReduce एल्गोरिथम का उपयोग सभी कार्यों को मानचित्र में विभाजित करने या फ़ंक्शन को कम करने के लिए करता है।
MapReduce निम्नलिखित लाभ प्रदान करता है:
-
बड़े और अलग-अलग डेटासेट पर एकत्रीकरण (गिनती, छँटाई और फ़िल्टरिंग)।
-
मानचित्र का स्केलेबल समानांतरवाद या कार्यों को कम करें।
-
वितरित कार्य निष्पादन।
यार्न
YARN Apache Hadoopecosystem के लिए क्लस्टर और संसाधन प्रबंधन परत है। यह Hadoop ढांचे की दूसरी पीढ़ी की मुख्य विशेषताओं में से एक है।
YARN निम्नलिखित कार्यक्षमता प्रदान करता है:
-
यह कार्यों को प्राथमिकता देने के लिए अनुप्रयोगों को शेड्यूल करता है और बड़े डेटाएनालिटिक्स सिस्टम को बनाए रखता है।
-
एक बड़े आर्किटेक्चर के एक भाग के रूप में, YARN डेटा पुनर्प्राप्ति के लिए विशिष्ट क्वेरी करने के लिए डेटा एकत्र करता है और सॉर्ट करता है।
-
यह विशेष अनुप्रयोगों के लिए संसाधन आवंटित करने में मदद करता है और अन्य प्रकार के संसाधन निगरानी कार्यों का प्रबंधन करता है।
मशीन लर्निंग
Hadoop एक ओपन सोर्स प्रोजेक्ट Apache Mahout के माध्यम से मशीन लर्निंग का समर्थन करता है, जिसका उपयोग मुख्य रूप से स्केलेबल मशीन लर्निंग एल्गोरिदम बनाने के लिए किया जाता है। Mahoutis एक डेटा माइनिंग फ्रेमवर्क है जो आम तौर पर डेटा की विशाल मात्रा को प्रबंधित करने के लिए पृष्ठभूमि में Hadoop इन्फ्रास्ट्रक्चर के साथ चलता है।
Mahout निम्नलिखित क्षमताएं प्रदान करता है:
-
डेटा की बड़ी मात्रा में डेटा माइनिंग कार्यों को करने के लिए उपयोग के लिए तैयार ढांचा।
-
एल्गोरिदम जो Hadoop के शीर्ष पर लिखे गए हैं, और जो Mahout को वितरित वातावरण में अच्छी तरह से काम करने में सक्षम बनाते हैं।
-
बड़े डेटा सेट का त्वरित विश्लेषण।
-
विकासवादी प्रोग्रामिंग के लिए वितरित फिटनेस फ़ंक्शन क्षमताएं। इसमें मैट्रिक्स और वेक्टर लाइब्रेरी भी शामिल हैं।
कार्यप्रवाह निगरानी और शेड्यूलिंग
नौकरियों के प्रबंधन के लिए Oozie Hadoop की प्रणाली है। यह कार्यप्रवाह अनुसूचक आश्रित कार्यों के लिए कार्यप्रवाह चलाता है। यह उपयोगकर्ताओं को वर्कफ़्लो के निर्देशित एसाइक्लिकग्राफ (DAG) बनाने में सक्षम बनाता है जो Hadoop में समानांतर और अनुक्रमिक कार्य चलाते हैं।
Oozie बहुत लचीला है। आप आसानी से कार्य शुरू कर सकते हैं, रोक सकते हैं, निलंबित कर सकते हैं और फिर से चला सकते हैं। Oozie विफल वर्कफ़्लो को फिर से चलाना बहुत आसान बनाता है।
Oozie स्केलेबल है और Hadoop क्लस्टर में हजारों वर्कफ़्लोज़ (प्रत्येक में दर्जनों नौकरियां शामिल हैं) के समय पर निष्पादन का प्रबंधन कर सकता है।
स्क्रिप्टिंग
हडूप में स्क्रिप्टिंग के लिए डेवलपर्स अपाचे पिग का उपयोग कर सकते हैं। स्क्रिप्टिंग जटिल MapReducetransformations बनाने के लिए aSQL-आधारित भाषा और निष्पादन वातावरण का उपयोग करता है। जबकि पिग को पिग लैटिन कोडिंग भाषा में लिखा गया है, इसे निष्पादन योग्य MapReduce नौकरियों में अनुवादित किया गया है। पिग भी उपयोगकर्ताओं को जावा का उपयोग करके विस्तारित या उपयोगकर्ता-परिभाषित फ़ंक्शन (यूडीएफ) बनाने में सक्षम बनाता है।
सुअर निम्नलिखित चीजें भी प्रदान करता है:
-
एचडीएफएस में कच्चे डेटा पर एक्सट्रैक्ट-ट्रांसफॉर्म-लोड (ईटीएल) कार्यों और प्रक्रियाओं को निष्पादित करने के लिए एक स्क्रिप्टिंग वातावरण।
-
जटिल नक्शा कम करने के कार्यों को बनाने और चलाने के लिए एक SQL-आधारित भाषा।
-
बड़े और अलग-अलग डेटासेट पर डेटा प्रोसेसिंग, सिलाई और योजना बनाना।
-
एक उच्च स्तरीय डेटा प्रवाह भाषा।
-
अमूर्तता की एक परत जो आपको डेटा प्रोसेसिंग पर ध्यान केंद्रित करने में सक्षम बनाती है।
निष्कर्ष
Hadoop और MapReduce ढांचे के पास पहले से ही जैव सूचना विज्ञान समुदाय में पर्याप्त उपयोगकर्ता आधार है, विशेष रूप से अगली पीढ़ी के अनुक्रमण विश्लेषण के क्षेत्र में। इस क्षेत्र में इसकी लोकप्रियता आंशिक रूप से इसके मजबूत, दोष-सहनशील एचडीएफएस के कारण है।
HBase एक वितरित, दोष-सहनशील, स्केलेबल डेटाबेस जोड़ता है जो HDFS फ़ाइल सिस्टम के शीर्ष पर बनाया गया है, जिसमें डेटा को रैंडम रीयल-टाइम रीड और राइट एक्सेस है। आप स्केलेबल मशीन लर्निंग लाइब्रेरी बनाने के लिए Mahout या बैच के लिए पिग भी देख सकते हैं। डेटा संसाधित कर रहा है।
इस श्रृंखला के भाग 2 में, हम Hadoop पारिस्थितिकी तंत्र के अधिक घटकों को शामिल करेंगे।
कोई टिप्पणी करने या प्रश्न पूछने के लिए प्रतिक्रिया टैब का उपयोग करें।