इम्पाला - वास्तुकला

इम्पाला एक MPP (बड़े पैमाने पर समानांतर प्रसंस्करण) क्वेरी निष्पादन इंजन है जो Hadoop क्लस्टर में कई प्रणालियों पर चलता है। पारंपरिक भंडारण प्रणालियों के विपरीत, इम्पाला को इसके भंडारण इंजन से अलग किया जाता है। इसके तीन मुख्य घटक हैं, इम्पाला डेमॉन (इम्पालाड) , इम्पाला स्टेटस्टोर, और इम्पाला मेटाडेटा या मेटाडोर।

इम्पाला डेमन ( इम्पलाद )

इम्पाला डेमन (के रूप में भी जाना जाता है impalad) प्रत्येक नोड पर चलता है जहाँ इम्पाला स्थापित है। यह इम्पाला शेल, ह्यू ब्राउज़र, आदि जैसे विभिन्न इंटरफेस से प्रश्नों को स्वीकार करता है ... और उन्हें संसाधित करता है।

जब भी किसी विशेष नोड पर एक इम्प्लैड को क्वेरी सबमिट की जाती है, तो वह नोड "के रूप में कार्य करता है"coordinator node"उस क्वेरी के लिए। इम्प्लैड द्वारा अन्य नोड्स पर भी कई प्रश्न पूछे जाते हैं । क्वेरी को स्वीकार करने के बाद, इम्पालाड डेटा फ़ाइलों को पढ़ता है और लिखता है और इम्पाला क्लस्टर में अन्य इम्पाला नोड्स को काम वितरित करके प्रश्नों को समानांतर करता है। जब प्रश्न विभिन्न इम्पालाड उदाहरणों पर प्रसंस्करण कर रहे हैं , तो वे सभी केंद्रीय समन्वय नोड में परिणाम लौटाते हैं।

आवश्यकता के आधार पर, प्रश्नों को एक समर्पित इम्पलाद या आपके क्लस्टर में किसी अन्य इम्पलाड को संतुलित तरीके से लोड किया जा सकता है ।

इम्पाला स्टेट स्टोर

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

इम्पाला स्टेट स्टोर डेमन प्रक्रिया का नाम स्टेट स्टोर किया गया हैImpalad इम्पाला राज्य दुकान डेमॉन, यानी करने के लिए अपने स्वास्थ्य की स्थिति की रिपोर्ट है, राज्य संग्रहीत

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

इम्पाला मेटाडाटा और मेटा स्टोर

इम्पाला मेटाडेटा और मेटा स्टोर एक अन्य महत्वपूर्ण घटक है। इम्पाला टेबल परिभाषाओं को संग्रहीत करने के लिए पारंपरिक MySQL या PostgreSQL डेटाबेस का उपयोग करता है। तालिका और स्तंभ जानकारी और तालिका परिभाषाओं जैसे महत्वपूर्ण विवरण एक केंद्रीकृत डेटाबेस में मेटा स्टोर के रूप में जाना जाता है।

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

जब एक तालिका परिभाषा या टेबल डेटा अपडेट किया जाता है, तो अन्य इम्पाला डेमन्स को प्रश्न में तालिका के खिलाफ एक नई क्वेरी जारी करने से पहले नवीनतम मेटाडेटा को पुनर्प्राप्त करके अपने मेटाडेटा कैश को अपडेट करना होगा।

क्वेरी प्रोसेसिंग इंटरफेस

प्रश्नों को संसाधित करने के लिए, इम्पाला नीचे सूचीबद्ध के रूप में तीन इंटरफेस प्रदान करता है।

  • Impala-shell - क्लोदेरा वीएम का उपयोग करके इम्पाला स्थापित करने के बाद, आप कमांड टाइप करके इम्पाला शेल शुरू कर सकते हैं impala-shellसंपादक में। हम आने वाले अध्यायों में इम्पाला शेल के बारे में अधिक चर्चा करेंगे।

  • Hue interface- आप ह्यू ब्राउज़र का उपयोग करके इम्पाला प्रश्नों को संसाधित कर सकते हैं। ह्यू ब्राउज़र में, आपके पास इम्पाला क्वेरी एडिटर है जहाँ आप इम्पाला क्वेरीज़ टाइप और निष्पादित कर सकते हैं। इस संपादक तक पहुंचने के लिए, सबसे पहले, आपको ह्यू ब्राउज़र में लॉग इन करना होगा।

  • ODBC/JDBC drivers- अन्य डेटाबेस की तरह, इम्पाला ODBC / JDBC ड्राइवर प्रदान करता है। इन ड्राइवरों का उपयोग करके, आप इनका उपयोग कर प्रोग्रामिंग भाषाओं के माध्यम से इम्पाला से जुड़ सकते हैं और उन प्रोग्रामिंग भाषाओं का उपयोग करके इम्पाला में प्रश्नों को संसाधित करने वाले अनुप्रयोगों का निर्माण कर सकते हैं।

क्वेरी निष्पादन प्रक्रिया

जब भी उपयोगकर्ता प्रदान किए गए किसी भी इंटरफेस का उपयोग करके एक क्वेरी पास करते हैं, तो यह क्लस्टर में इम्पेलाड्स में से एक द्वारा स्वीकार किया जाता है। इस Impalad को उस विशेष क्वेरी के लिए समन्वयक के रूप में माना जाता है।

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

अन्य सभी इम्पाला डेमॉन निर्दिष्ट डेटा ब्लॉक को पढ़ते हैं और क्वेरी को संसाधित करते हैं। जैसे ही सभी डेमन अपने कार्यों को पूरा करते हैं, क्वेरी समन्वयक परिणाम को वापस इकट्ठा करता है और उपयोगकर्ता को वितरित करता है।