गहराई से समझना
Hadoop
Hadoop
Apache
नींव का एक खुला स्रोत परियोजना है । यह एक ढाँचा है 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
servers
Metadata
HDFS
HiveQL प्रक्रिया इंजन : स्कीमा जानकारी पर क्वेरी HiveQL
करने के SQL
लिए समान है Metastore
। यह MapReduce
कार्यक्रम के लिए पारंपरिक दृष्टिकोण के प्रतिस्थापन में से एक है । लेखन के बजाय MapReduce
में Java
, हम के लिए एक प्रश्न लिख सकते हैं MapReduce
और इसे संसाधित।
Exceution इंजन : की संयोजन हिस्सा HiveQL
प्रक्रिया इंजन और MapReduce
है Hive
निष्पादन इंजन। निष्पादन इंजन क्वेरी को संसाधित करता है और परिणाम भी उसी तरह उत्पन्न करता है MapReduce results
। यह के स्वाद का उपयोग करता है MapReduce
।
HDFS या HBase : Hadoop
वितरित फ़ाइल सिस्टम या फ़ाइल सिस्टम HBase
में डेटा स्टोर करने के लिए डेटा स्टोरेज तकनीक हैं।