गहराई से समझना
Hadoop
HadoopApacheनींव का एक खुला स्रोत परियोजना है । यह एक ढाँचा है Java, जिसे मूल रूप से 2005 में डौग कटिंग द्वारा विकसित किया गया था। यह Nutchपाठ खोज इंजन के लिए वितरण का समर्थन करने के लिए बनाया गया था । इसकी नींव के रूप में Google और Google फ़ाइल सिस्टम टेक्नोलॉजीज Hadoopका उपयोग करता है Map Reduce।
Hadoop की विशेषताएं
- यह कमोडिटी हार्डवेयर का उपयोग करके बड़े पैमाने पर संरचित, अर्ध-संरचित और असंरचित डेटा को संभालने के लिए अनुकूलित है।
- यह कुछ भी नहीं वास्तुकला साझा किया है।
- यह कई कंप्यूटरों में अपने डेटा को दोहराता है ताकि अगर कोई नीचे जाए, तो डेटा को अभी भी किसी अन्य मशीन से संसाधित किया जा सके जो इसकी प्रतिकृति को संग्रहीत करता है।
Hadoopकम विलंबता के बजाय उच्च थ्रूपुट के लिए है। यह एक बैच ऑपरेशन है जो भारी मात्रा में डेटा को संभालता है; इसलिए प्रतिक्रिया समय तत्काल नहीं है।
- यह ऑनलाइन लेनदेन प्रसंस्करण और ऑनलाइन विश्लेषणात्मक प्रसंस्करण का पूरक है। हालांकि, यह एक के लिए एक प्रतिस्थापन नहीं है
RDBMS।
- यह अच्छा नहीं है जब काम को समानांतर नहीं किया जा सकता है या जब डेटा के भीतर निर्भरताएं होती हैं।
- यह छोटी फाइलों को प्रोसेस करने के लिए अच्छा नहीं है। यह विशाल डेटा फ़ाइलों और डेटा सेट के साथ सबसे अच्छा काम करता है।
Hadoop के संस्करण
Hadoopउपलब्ध के दो संस्करण हैं :
- Hadoop 1.0
- Hadoop 2.0
Hadoop 1.0
इसके दो मुख्य भाग हैं:
1. डाटा स्टोरेज फ्रेमवर्क
यह एक सामान्य-उद्देश्य वाली फ़ाइल प्रणाली है जिसे Hadoop Distributed File System ( HDFS) कहा जाता है ।
HDFS स्कीमा-कम है
यह केवल डेटा फ़ाइलों को संग्रहीत करता है और ये डेटा फ़ाइलें किसी भी प्रारूप के बारे में हो सकती हैं।
यह विचार है कि फाइलों को यथासंभव उनके मूल रूप के करीब संग्रहित किया जाए।
यह बदले में व्यावसायिक इकाइयों और संगठन को जरूरत से ज्यादा लचीलेपन और चपलता प्रदान करता है, जो इसे लागू नहीं कर सकता है।
2. डाटा प्रोसेसिंग फ्रेमवर्क
यह एक साधारण कार्यात्मक प्रोग्रामिंग मॉडल है जिसे शुरुआत में Google द्वारा लोकप्रिय बनाया गया था MapReduce।
यह अनिवार्य रूप से दो कार्यों का उपयोग करता है: MAPऔर REDUCEडेटा को संसाधित करने के लिए।
"मैपर्स" कुंजी-मूल्य जोड़े के एक सेट में लेते हैं और मध्यवर्ती डेटा उत्पन्न करते हैं (जो कुंजी-मूल्य जोड़े की एक और सूची है)।
"Reducers" आउटपुट डेटा का उत्पादन करने के लिए इस इनपुट पर कार्य करता है।
दो कार्य एक-दूसरे के साथ अलगाव में काम करते हैं, इस प्रकार प्रसंस्करण को अत्यधिक समानांतर, दोष-सहिष्णुता और मापनीय तरीके से वितरित किया जाता है।
Hadoop 1.0 की सीमाएं
पहली सीमा MapReduceप्रोग्रामिंग विशेषज्ञता की आवश्यकता थी ।
इसने केवल बैच प्रसंस्करण का समर्थन किया, जो लॉग विश्लेषण, बड़े पैमाने पर डेटा खनन परियोजनाओं जैसे कार्यों के लिए उपयुक्त है, लेकिन अन्य प्रकार की परियोजनाओं के लिए बहुत अधिक अनुपयुक्त है।
एक बड़ी सीमा यह थी कि Hadoop 1.0कसकर कम्प्यूटेशनल रूप से युग्मित किया गया था MapReduce, जिसका अर्थ था कि स्थापित डेटा प्रबंधन विक्रेता जहां दो राय छोड़ गए थे:
या तो में उनकी कार्यक्षमता को फिर से लिखने MapReduceइतना है कि यह में क्रियान्वित किया जा सकता है Hadoopया
से डेटा निकालें HDFSया इसके बाहर की प्रक्रिया करें Hadoop।
कोई भी विकल्प व्यवहार्य नहीं था क्योंकि यह Hadoopक्लस्टर के अंदर और बाहर स्थानांतरित होने के कारण अक्षमताओं को संसाधित करने के लिए प्रेरित करता था ।
Hadoop 2.0
में Hadoop 2.0, HDFSडेटा स्टोरेज फ्रेमवर्क होना जारी है।
हालांकि, एक नया और अलग संसाधन प्रबंधन ढांचे बुलाया वाई एट एक nother आर esource एन egotiater ( यार्न ) जोड़ा गया है।
समानांतर कार्यों में खुद को विभाजित करने में सक्षम कोई भी एप्लिकेशन YARN द्वारा समर्थित है।
YARN प्रस्तुत आवेदन के उप-प्रकारों के आवंटन का समन्वय करता है, जिससे अनुप्रयोगों का लचीलापन, मापनीयता और दक्षता बढ़ जाती है।
यह जॉब ट्रैकर के स्थान पर एक एप्लिकेशन मास्टर होने से काम करता है , नए नोड प्रबंधक द्वारा संचालित संसाधनों पर एप्लिकेशन चल रहा है ।
ApplicationMaster किसी भी एप्लिकेशन को चलाने में सक्षम है और न केवल MapReduce।
इसका मतलब यह है कि यह न केवल बैच प्रसंस्करण बल्कि वास्तविक समय प्रसंस्करण का भी समर्थन करता है। MapReduceअब केवल डेटा प्रोसेसिंग विकल्प नहीं है।
Hadoop के फायदे
यह से इसके मूल में डेटा संग्रहीत करता। डेटा में कुंजीयन या डेटा संग्रहीत करते समय कोई संरचना नहीं है। HDFSस्कीमा कम है। यह केवल बाद में होता है जब डेटा को संसाधित करने की आवश्यकता होती है कि संरचना कच्चे डेटा पर लागू होती है।
यह स्केलेबल है। Hadoopसमानांतर में काम करने वाले सैकड़ों सस्ती सर्वरों में बहुत बड़े डेटासेट स्टोर और वितरित कर सकते हैं।
यह विफलता के लिए लचीला है। Hadoopगलती सहिष्णुता है। यह डेटा को लगन से दोहराने का अभ्यास करता है जिसका मतलब है कि जब भी डेटा किसी भी नोड को भेजा जाता है, उसी डेटा को क्लस्टर में अन्य नोड्स के लिए भी दोहराया जाता है, जिससे यह सुनिश्चित होता है कि नोड विफलता की स्थिति में, हमेशा उपयोग के लिए उपलब्ध डेटा की एक और प्रतिलिपि होगी।
यह लचीला है। इसका एक प्रमुख लाभ Hadoopयह है कि यह किसी भी प्रकार के डेटा के साथ काम कर सकता है: संरचित, असंरचित या अर्ध-संरचित। इसके अलावा, Hadoop"डेटा को स्थानांतरित कोड" प्रतिमान के कारण प्रसंस्करण बहुत तेज है ।
Hadoop Ecosystem
Hadoopपारिस्थितिकी तंत्र के घटक निम्नलिखित हैं :
HDFS : Hadoopवितरित फ़ाइल सिस्टम। यह मूल रूप से संभव के रूप में डेटा फ़ाइलों को संग्रहीत करता है।
HBase : यह Hadoop का डेटाबेस है और इसकी तुलना a से करता है RDBMS। यह बड़ी तालिकाओं के लिए संरचित डेटा भंडारण का समर्थन करता है।
हाइव : यह मानक के समान भाषा का उपयोग करके बड़े डेटासेट का विश्लेषण करने में सक्षम बनाता है ANSI SQL, जिसका तात्पर्य यह है कि किसी भी पारिवारिक व्यक्ति SQLको Hadoopक्लस्टर पर डेटा तक पहुंचने में सक्षम होना चाहिए ।
सुअर : डेटा प्रवाह भाषा को समझना आसान है। यह बड़े डेटासेट के विश्लेषण में मदद करता है जो काफी ऑर्डर के साथ है Hadoop। Pigलिपियों को दुभाषिया MapReduceद्वारा स्वचालित रूप से नौकरियों में बदल दिया जाता है Pig।
चिड़ियाघर कीपर : यह वितरित अनुप्रयोगों के लिए एक समन्वय सेवा है।
ओजी : यह schedularअपाचे Hadoopनौकरियों का प्रबंधन करने के लिए एक कार्यप्रवाह प्रणाली है ।
महावत : यह एक स्केलेबल मशीन लर्निंग और डेटा माइनिंग लाइब्रेरी है।
चुकावा : यह बड़ी वितरित प्रणाली के प्रबंधन के लिए डेटा संग्रह प्रणाली है।
Sqoop : इसका उपयोग बल्क डेटा के बीच Hadoopऔर संरचित डेटा स्टोर जैसे कि रिलेशनल डेटाबेस को स्थानांतरित करने के लिए किया जाता है ।
अंबारी : यह Hadoopक्लस्टर के प्रावधान, प्रबंधन और निगरानी के लिए एक वेब आधारित उपकरण है ।
मधुमुखी का छत्ता
Hiveमें डेटा संरचित करने के लिए डेटा वेयरहाउस इन्फ्रास्ट्रक्चर टूल है Hadoop। यह Hadoopबिग डेटा को संक्षेप करने के लिए शीर्ष पर रहता है और क्वेरी करना और विश्लेषण करना आसान बनाता है।
छत्ता नहीं है
एक संबंधपरक डेटाबेस
ऑनलाइन लेनदेन प्रसंस्करण के लिए एक डिजाइन ( OLTP)।
वास्तविक समय के प्रश्नों और पंक्ति-स्तरीय अपडेट के लिए एक भाषा।
छत्ता की विशेषताएं
यह डेटाबेस और संसाधित डेटा में स्कीमा को संग्रहीत करता है HDFS।
इसके लिए बनाया गया है OLAP।
यह SQLबुलाया HiveQLया क्वेरी के लिए टाइप भाषा प्रदान करता है HQL।
यह पारिवारिक, तेज, स्केलेबल और एक्स्टेंसिबल है।
हाइव आर्किटेक्चर
निम्नलिखित घटक हाइव आर्किटेक्चर में निहित हैं:
उपयोगकर्ता इंटरफ़ेस : Hiveएक data warehouseबुनियादी ढांचा है जो उपयोगकर्ता और के बीच बातचीत बना सकता है HDFS। Hiveहाइव वेब यूआई, हाइव कमांड लाइन और हाइव एचडी इनसाइट (विंडोज सर्वर में) का समर्थन करने वाले यूजर इंटरफेस ।
मेटास्टोर : स्कीमा या टेबल, डेटाबेस, कॉलम को एक टेबल में स्टोर करने , उनके डेटा प्रकार और मैपिंग से Hiveसंबंधित चुनता है ।database serversMetadataHDFS
HiveQL प्रक्रिया इंजन : स्कीमा जानकारी पर क्वेरी HiveQLकरने के SQLलिए समान है Metastore। यह MapReduceकार्यक्रम के लिए पारंपरिक दृष्टिकोण के प्रतिस्थापन में से एक है । लेखन के बजाय MapReduceमें Java, हम के लिए एक प्रश्न लिख सकते हैं MapReduceऔर इसे संसाधित।
Exceution इंजन : की संयोजन हिस्सा HiveQLप्रक्रिया इंजन और MapReduceहै Hiveनिष्पादन इंजन। निष्पादन इंजन क्वेरी को संसाधित करता है और परिणाम भी उसी तरह उत्पन्न करता है MapReduce results। यह के स्वाद का उपयोग करता है MapReduce।
HDFS या HBase : Hadoopवितरित फ़ाइल सिस्टम या फ़ाइल सिस्टम HBaseमें डेटा स्टोर करने के लिए डेटा स्टोरेज तकनीक हैं।