हाइव व्यवसाय में व्यापक रूप से उपयोग किया जाने वाला बिग डेटा एनालिटिक्स टूल है, और यदि आप बिग डेटा में नए हैं तो यह शुरुआत करने के लिए एक शानदार जगह है। यह अपाचे हाइव पाठ अपाचे हाइव के मूल सिद्धांतों से गुजरता है, हाइव क्यों आवश्यक है, इसकी विशेषताएं, और बाकी सब कुछ जो आपको जानना चाहिए।
आइए सबसे पहले Hadoop फ्रेमवर्क को समझें जिस पर Apache Hive बनाया गया है।
अपाचे होडोप
अपाचे Hadoop एक मुफ़्त और है खुले स्रोत गीगाबाइट से लेकर पेटाबाइट तक के आकार के बड़े डेटासेट को संग्रहीत और संसाधित करने के लिए प्लेटफ़ॉर्म। Hadoop डेटा को संग्रहीत करने और उसका विश्लेषण करने के लिए एक बड़े कंप्यूटर की आवश्यकता के बजाय, समानांतर में विशाल डेटासेट का विश्लेषण करने के लिए कई कंप्यूटरों को क्लस्टर करने की अनुमति देता है।
MapReduce और Hadoop डिस्ट्रिब्यूटेड फ़ाइल सिस्टम दो घटक हैं:
- मानचित्र छोटा करना - मैपरिड्यूस कमोडिटी हार्डवेयर क्लस्टर पर बड़ी मात्रा में संगठित, अर्ध-संरचित और असंरचित डेटा को संभालने के लिए एक समानांतर प्रोग्रामिंग तकनीक है।
- एचडीएफएस - HDFS (Hadoop डिस्ट्रीब्यूटेड फाइल सिस्टम) एक Hadoop फ्रेमवर्क घटक है जो डेटा को संग्रहीत और संसाधित करता है। यह एक दोष-सहिष्णु फ़ाइल सिस्टम है जो मानक हार्डवेयर पर चलता है
Hadoop मॉड्यूल की सहायता के लिए Hadoop पारिस्थितिकी तंत्र में Sqoop, Pig और Hive सहित विभिन्न उप-परियोजनाओं (उपकरणों) का उपयोग किया जाता है।
- करंड - हाइव SQL-शैली स्क्रिप्ट लिखने के लिए एक ढांचा है जो MapReduce गणना करता है।
- सुअर - पिग एक प्रक्रियात्मक प्रोग्रामिंग भाषा है जिसका उपयोग MapReduce प्रक्रियाओं के लिए एक स्क्रिप्ट बनाने के लिए किया जा सकता है।
- स्कूप - स्कूप एचडीएफएस और आरडीबीएमएस के बीच डेटा आयात और निर्यात करने के लिए एक उपकरण है।
एचएमबी क्या है? अपाचे हाइव?
अपाचे हाइव एक खुला स्रोत है डाटा गोदाम Apache Hadoop डिस्ट्रिब्यूटेड फाइल सिस्टम (HDFS) या अन्य डेटा स्टोरेज सिस्टम जैसे Apache HBase में सीधे संग्रहीत विशाल डेटा सेट को पढ़ने, लिखने और प्रबंधित करने के लिए कार्यक्रम।
SQL डेवलपर डेटा क्वेरी और विश्लेषण के लिए Hive क्वेरी लैंग्वेज (HQL) स्टेटमेंट बनाने के लिए Hive का उपयोग कर सकते हैं जो नियमित SQL स्टेटमेंट के तुलनीय हैं। इसे लंबे जावा कोड को सीखने और लिखने की आवश्यकता को समाप्त करके MapReduce प्रोग्रामिंग को आसान बनाने के लिए बनाया गया था। इसके बजाय, आप अपने प्रश्न एचक्यूएल में लिख सकते हैं, और हाइव मानचित्र बनाएगा और आपके लिए कार्यों को कम करेगा।
Apache Hive का SQL जैसा इंटरफ़ेस, Hadoop डेटा को एड-हॉक सर्च करने, सारांशित करने और विश्लेषण करने के लिए गोल्ड स्टैंडर्ड बन गया है। बादल में शामिल होने पर कंप्यूटिंग नेटवर्क, यह समाधान विशेष रूप से लागत प्रभावी और स्केलेबल है, यही वजह है कि नेटफ्लिक्स और अमेज़ॅन सहित कई कंपनियां अपाचे हाइव का विकास और सुधार जारी रखती हैं।
इतिहास
फेसबुक पर अपने समय के दौरान, जॉयदीप सेन सरमा और आशीष थुसू ने अपाचे हाइव का सह-निर्माण किया। उन दोनों ने माना कि Hadoop से अधिकतम लाभ प्राप्त करने के लिए, उन्हें कुछ जटिल जावा मैप-रिड्यूस कार्य बनाने होंगे। उन्होंने माना कि वे अपनी तेजी से बढ़ती इंजीनियरिंग और विश्लेषणात्मक टीमों को उन कौशलों के बारे में शिक्षित नहीं कर पाएंगे जिनकी उन्हें कंपनी में Hadoop का लाभ उठाने के लिए आवश्यकता होगी। इंजीनियर और विश्लेषक अक्सर उपयोगकर्ता इंटरफ़ेस के रूप में SQL का उपयोग करते हैं।
जबकि SQL अधिकांश एनालिटिक्स आवश्यकताओं को पूरा कर सकता है, डेवलपर्स का इरादा Hadoop की प्रोग्रामयोग्यता को शामिल करने का भी है। अपाचे हाइव इन दो उद्देश्यों से उत्पन्न हुआ: एक एसक्यूएल-आधारित घोषणात्मक भाषा जिसने डेवलपर्स को अपनी स्क्रिप्ट और प्रोग्राम लाने में सक्षम बनाया जब एसक्यूएल पर्याप्त नहीं था।
इसे डेटा-संचालित संगठनों के निर्माण को आसान बनाने के लिए कंपनी के सभी डेटासेट के बारे में केंद्रीकृत मेटाडेटा (Hadoop-आधारित) रखने के लिए भी विकसित किया गया था।
अपाचे हाइव कैसे काम करता है?
संक्षेप में, Apache Hive, HiveQL (SQL-जैसी) भाषा में लिखे गए इनपुट प्रोग्राम को एक या अधिक Java MapReduce, Tez, या Spark कार्यों में परिवर्तित करता है। (ये सभी निष्पादन इंजन Hadoop YARN के साथ संगत हैं।) उसके बाद, Apache Hive Hadoop डिस्ट्रीब्यूटेड फ़ाइल सिस्टम HDFS के लिए डेटा को तालिकाओं में व्यवस्थित करता है) और उत्तर पाने के लिए क्लस्टर पर कार्य करता है।
जानकारी
अपाचे हाइव तालिकाओं को उसी तरह व्यवस्थित किया जाता है जैसे रिलेशनल डेटाबेस में तालिकाओं को व्यवस्थित किया जाता है, जिसमें डेटा इकाइयाँ बड़े से छोटे आकार में होती हैं। डेटाबेस तालिकाओं से बने होते हैं जिन्हें डिवीजनों में विभाजित किया जाता है, जिन्हें आगे बकेट में विभाजित किया जाता है। HiveQL (हाइव क्वेरी लैंग्वेज) का उपयोग डेटा तक पहुंचने के लिए किया जाता है, जिसे बदला या जोड़ा जा सकता है। तालिका डेटा को प्रत्येक डेटाबेस में क्रमबद्ध किया जाता है, और प्रत्येक तालिका की अपनी HDFS निर्देशिका होती है।
आर्किटेक्चर
अब हम हाइव आर्किटेक्चर के सबसे महत्वपूर्ण पहलू के बारे में बात करेंगे। अपाचे हाइव के घटक इस प्रकार हैं:
मेटास्टोर — यह प्रत्येक तालिका के बारे में जानकारी, जैसे उसकी संरचना और स्थान, पर नज़र रखता है। विभाजन मेटाडेटा इसी तरह हाइव में शामिल है। यह ड्राइवर को क्लस्टर में फैले विभिन्न डेटा सेट की प्रगति पर नज़र रखने की अनुमति देता है। डेटा को पारंपरिक RDBMS प्रारूप में संग्रहीत किया जाता है। ड्राइवर के लिए डेटा का ट्रैक बनाए रखने के लिए हाइव मेटाडेटा बेहद महत्वपूर्ण है। बैकअप सर्वर नियमित आधार पर डेटा को डुप्लिकेट करता है ताकि डेटा हानि की स्थिति में इसे पुनर्प्राप्त किया जा सके।
चालक - HiveQL स्टेटमेंट एक ड्राइवर द्वारा प्राप्त किए जाते हैं, जो एक नियंत्रक के रूप में कार्य करता है। सत्र स्थापित करके, ड्राइवर कथन का निष्पादन आरंभ करता है। यह कार्यकारी के जीवनकाल और प्रगति पर नज़र रखता है। HiveQL कथन के निष्पादन के दौरान, ड्राइवर आवश्यक मेटाडेटा सहेजता है। यह रिड्यूस प्रक्रिया के बाद डेटा या क्वेरी परिणाम एकत्रित करने वाले बिंदु के रूप में भी कार्य करता है।
संकलक - यह HiveQL क्वेरी संकलन निष्पादित करता है। क्वेरी अब एक निष्पादन योजना में परिवर्तित हो गई है। कार्य योजना में सूचीबद्ध हैं. इसमें वे चरण भी शामिल हैं जो MapReduce को क्वेरी द्वारा अनुवादित परिणाम प्राप्त करने के लिए उठाने होंगे। क्वेरी को हाइव के कंपाइलर (एएसटी) द्वारा एक सार सिंटेक्स ट्री में परिवर्तित किया जाता है। अनुकूलता और संकलन-समय दोष (डीएजी) की जांच के बाद एएसटी को एक निर्देशित एसाइक्लिक ग्राफ़ में परिवर्तित करता है।
अनुकूलक – यह निष्पादन योजना पर विभिन्न परिवर्तन करके DAG को अनुकूलित करता है। यह बेहतर दक्षता के लिए परिवर्तनों को जोड़ता है, जैसे जोड़ों की पाइपलाइन को एकल जोड़ में बदलना। गति में सुधार करने के लिए, ऑप्टिमाइज़र गतिविधियों को विभाजित कर सकता है, जैसे कमी ऑपरेशन करने से पहले डेटा में परिवर्तन लागू करना।
निर्वाहक - संकलन और अनुकूलन समाप्त होने पर निष्पादक कार्य चलाता है। कार्य निष्पादक द्वारा पाइपलाइन किए जाते हैं।
सीएलआई, यूआई और थ्रिफ्ट सर्वर - कमांड-लाइन इंटरफ़ेस (सीएलआई) एक उपयोगकर्ता इंटरफ़ेस है जो बाहरी उपयोगकर्ता को हाइव के साथ संचार करने की अनुमति देता है। हाइव का थ्रिफ्ट सर्वर, जेडीबीसी या ओडीबीसी प्रोटोकॉल के समान, बाहरी ग्राहकों को नेटवर्क के माध्यम से हाइव के साथ संचार करने की अनुमति देता है।
सुरक्षा
Apache Hive को Hadoop सुरक्षा के साथ एकीकृत किया गया है, जो क्लाइंट-सर्वर पारस्परिक प्रमाणीकरण के लिए Kerberos का उपयोग करता है। एचडीएफएस अपाचे हाइव में नई जेनरेट की गई फ़ाइलों के लिए अनुमतियां निर्धारित करता है, जिससे आपको उपयोगकर्ता, समूह और अन्य लोगों द्वारा अनुमोदन की अनुमति मिलती है।
मुख्य विशेषताएं
- हाइव बाहरी तालिकाओं का समर्थन करता है, जो आपको डेटा को एचडीएफएस में संग्रहीत किए बिना संसाधित करने देता है।
- यह गति बढ़ाने के लिए तालिका स्तर पर डेटा विभाजन को भी सक्षम बनाता है।
- अपाचे हाइव Hadoop की निम्न-स्तरीय इंटरफ़ेस आवश्यकता को उत्कृष्ट रूप से पूरा करता है।
- हाइव डेटा सारांशीकरण, पूछताछ और विश्लेषण को आसान बनाता है।
- HiveQL को किसी प्रोग्रामिंग कौशल की आवश्यकता नहीं है; SQL प्रश्नों की सरल समझ ही पर्याप्त है।
- हम डेटा विश्लेषण के लिए तदर्थ क्वेरी संचालित करने के लिए हाइव का भी उपयोग कर सकते हैं।
- यह स्केलेबल, परिचित और अनुकूलनीय है।
- HiveQL को किसी प्रोग्रामिंग कौशल की आवश्यकता नहीं है; SQL प्रश्नों की सरल समझ ही पर्याप्त है।
लाभ
अपाचे हाइव दिन के अंत की रिपोर्ट, दैनिक लेनदेन मूल्यांकन, तदर्थ खोज और डेटा विश्लेषण की अनुमति देता है। अपाचे हाइव द्वारा प्रदान की गई व्यापक अंतर्दृष्टि महत्वपूर्ण प्रतिस्पर्धी लाभ देती है और आपके लिए बाजार की मांगों पर प्रतिक्रिया देना आसान बनाती है।
ऐसी जानकारी आसानी से उपलब्ध होने के कुछ लाभ यहां दिए गए हैं:
- उपयोग की आसानी - इसकी SQL-जैसी भाषा के साथ, डेटा को क्वेरी करना समझना आसान है।
- त्वरित डेटा प्रविष्टि - क्योंकि अपाचे हाइव तालिका प्रकार या स्कीमा परिभाषा को सत्यापित किए बिना स्कीमा को पढ़ता है, डेटा को डेटाबेस के आंतरिक प्रारूप में डिस्क पर पढ़ने, पार्स करने और क्रमबद्ध करने की आवश्यकता नहीं होती है। इसके विपरीत, एक पारंपरिक डेटाबेस में, हर बार जोड़े जाने पर डेटा को मान्य किया जाना चाहिए।
- बेहतर स्केलेबिलिटी, लचीलापन और लागत-प्रभावशीलता - क्योंकि डेटा एचडीएफएस में संग्रहीत होता है, अपाचे हाइव 100 पेटाबाइट डेटा रख सकता है, जिससे यह एक सामान्य डेटाबेस की तुलना में कहीं अधिक स्केलेबल विकल्प बन जाता है। अपाचे हाइव, क्लाउड-आधारित Hadoop सेवा के रूप में, ग्राहकों को बदलते कार्यभार को पूरा करने के लिए वर्चुअल सर्वर को तेजी से ऊपर और नीचे घुमाने की अनुमति देता है।
- व्यापक कार्य क्षमता - बड़े डेटासेट प्रति घंटे 100,000 क्वेरी तक संभाल सकते हैं।
सीमाओं
- सामान्य तौर पर, अपाचे हाइव क्वेरीज़ में बहुत अधिक विलंबता होती है।
- सबक्वेरी समर्थन सीमित है.
- अपाचे हाइव में रीयल-टाइम क्वेरीज़ और पंक्ति-स्तरीय परिवर्तन उपलब्ध नहीं हैं।
- भौतिक विचारों के लिए कोई समर्थन नहीं है।
- हाइव में, अद्यतन और हटाएँ क्रियाएँ समर्थित नहीं हैं।
- ओएलटीपी (ऑनलाइन संक्रमणकालीन प्रक्रिया) के लिए अभिप्रेत नहीं है।
अपाचे हाइव के साथ शुरुआत करना
Apache Hive एक मजबूत Hadoop पार्टनर है जो आपके वर्कफ़्लो को सरल और सुव्यवस्थित करता है। अपाचे हाइव से अधिकतम लाभ प्राप्त करने के लिए, निर्बाध एकीकरण आवश्यक है। पहला कदम है पर जाना वेबसाइट .
1. स्थिर रिलीज़ से इंस्टालेशन हाइव
अपाचे डाउनलोड मिरर में से किसी एक से हाइव की नवीनतम स्थिर रिलीज़ को डाउनलोड करके प्रारंभ करें (देखें)। छत्ता विज्ञप्ति). फिर टारबॉल को अनपैक किया जाना चाहिए। यह hive-xyz नामक एक सबफ़ोल्डर बनाएगा (जहाँ xyz रिलीज़ नंबर है):
संस्थापन निर्देशिका को इंगित करने के लिए पर्यावरण चर HIVE_HOME सेट करें:
अंत में, अपने में $HIVE_HOME/bin जोड़ें PATH
:
2. रनिंग हाइव
हाइव Hadoop का उपयोग करता है, इसलिए:
- आपके रास्ते में Hadoop होना चाहिए या
3. डीएलएल ऑपरेशन
हाइव टेबल बनाना
दो स्तंभों के साथ पोक्स नामक एक तालिका उत्पन्न करता है, जिसमें से पहला एक पूर्णांक है और दूसरा एक स्ट्रिंग है।
तालिकाओं के माध्यम से ब्राउज़ करना
सभी तालिकाओं की सूची बनाना
तालिकाओं को बदलना और गिराना
तालिका के नाम बदले जा सकते हैं और कॉलम जोड़े या बदले जा सकते हैं:
यह ध्यान देने योग्य है कि REPLACE COLUMNS सभी मौजूदा कॉलमों को बदल देता है, जबकि केवल तालिका की संरचना को बदलता है, डेटा को नहीं। तालिका में एक देशी सेरडे का उपयोग किया जाना चाहिए। REPLACE COLUMNS का उपयोग तालिका के स्कीमा से कॉलम हटाने के लिए भी किया जा सकता है:
टेबल गिराना
अपाचे हाइव में कई अतिरिक्त संचालन और विशेषताएं हैं जिनके बारे में आप आधिकारिक वेबसाइट पर जाकर जान सकते हैं।
निष्कर्ष
हाइव डेफिनिशन विशाल डेटासेट के लिए क्वेरी और विश्लेषण के लिए एक डेटा प्रोग्राम इंटरफ़ेस है जो Apache Hadoop के शीर्ष पर बनाया गया है। पेशेवर इसे अन्य कार्यक्रमों, उपकरणों और सॉफ़्टवेयर के मुकाबले चुनते हैं क्योंकि यह मुख्य रूप से हाइव व्यापक डेटा के लिए डिज़ाइन किया गया है और उपयोग में आसान है।
आशा है कि यह ट्यूटोरियल आपको अपाचे हाइव के साथ किकस्टार्ट करने और आपके वर्कफ़्लो को अधिक कुशल बनाने में मदद करेगा। हमें टिप्पणियों में बताएं।
एक जवाब लिखें