अपाचे हाइव एक ऐसा फ्रेमवर्क है जो Hadoop में डेटा पर तदर्थ प्रश्नों को करने के लिए Hadoop के शीर्ष पर बैठता है। हाइव HiveQL का समर्थन करता है, जो SQL के समान है, लेकिन SQL के पूर्ण निर्माण का समर्थन नहीं करता है।
हाइव HiveQL क्वेरी को Java MapReduce प्रोग्राम में कवर करता है और फिर इसे Hadoop क्लस्टर में सबमिट करता है। समान परिणाम को HiveQL और Java MapReduce का उपयोग करके प्राप्त किया जा सकता है, लेकिन Java MapReduce के उपयोग से HiveQL की तुलना में बहुत सारे कोड लिखे / डीबग किए जाने की आवश्यकता होगी। तो, HiveQL डेवलपर उत्पादकता बढ़ाता है।
संक्षेप में, HiveQL भाषा के माध्यम से Hive, जावा MapReduce प्रोग्रामिंग पर एक उच्च स्तरीय अमूर्तता प्रदान करता है। किसी भी अन्य उच्च स्तर के अमूर्त के साथ, जावा मैपराइड की तुलना में HiveQL का उपयोग करके ओवरहेड का एक सा हिस्सा है, लेकिन हाइव समुदाय आमतौर पर उपयोग किए जाने वाले अधिकांश परिदृश्यों के लिए इस अंतर को कम करने के लिए काम कर रहा है।
उसी पंक्ति के साथ, पिग MapReduce पर एक उच्च स्तर की अमूर्तता प्रदान करता है। सुअर PigLatin कंस्ट्रक्शन को सपोर्ट करता है, जो जावा मैपरेड प्रोग्राम में परिवर्तित हो जाते हैं और फिर Hadoop क्लस्टर में सबमिट हो जाते हैं।
जबकि HiveQL SQL की तरह एक घोषणात्मक भाषा है, PigLatin एक डेटा प्रवाह भाषा है। एक PigLatin निर्माण के आउटपुट को अन्य PigLatin निर्माण और इतने पर इनपुट के रूप में भेजा जा सकता है।
कुछ समय पहले, क्लाउडरा ने एक विशिष्ट हडोप क्लस्टर में वर्कलोड चरित्र के बारे में आंकड़े प्रकाशित किए और यह आसानी से देखा जा सकता है कि सुअर और हाइव की नौकरियां एक हडोप क्लस्टर में नौकरियों का एक अच्छा हिस्सा बनाती हैं। अधिक डेवलपर उत्पादकता के कारण, कई कंपनियां सुअर और हाइव जैसे उच्च स्तर के सार के लिए चयन कर रही हैं। इसलिए, हम शर्त लगा सकते हैं कि MapReduce के विकास की तुलना में हाइव और सुअर के आसपास बहुत सारे काम खुलेंगे।
हालांकि प्रोग्रामिंग पिग किताब अक्टूबर 2011 में प्रकाशित की गई थी, प्रोग्रामिंग हाइव किताब हाल ही में अक्टूबर 2012 में प्रकाशित हुई थी। जो लोग आरडीबीएमएस के साथ काम करने का अनुभव रखते हैं, उनके लिए पिग के साथ शुरुआत करने की तुलना में हाइव के साथ काम करना एक बेहतर विकल्प होगा। यह भी ध्यान दें कि पिग्लटिन भाषा शुरू करने के लिए बहुत मुश्किल नहीं है।
अंतर्निहित Hadoop क्लस्टर के लिए, यह पारदर्शी है कि Java MapReduce जॉब सबमिट की गई है या Hive और Pig के माध्यम से MapReduce जॉब सबमिट की गई है। MapReduce नौकरियों के बैच उन्मुख प्रकृति के कारण, हाइव और सुअर के माध्यम से प्रस्तुत नौकरियां भी प्रकृति में बैच उन्मुख हैं।
वास्तविक समय की प्रतिक्रिया आवश्यकताओं के लिए, हाइव और पिग MapReduce नौकरियों के पहले उल्लिखित बैच उन्मुख प्रकृति के कारण आवश्यकताओं को पूरा नहीं करते हैं। क्लोडेरा ने इम्पाला विकसित किया, जो हडोप के शीर्ष पर इंटरैक्टिव तदर्थ प्रश्नों के लिए ड्रेमल (Google से एक प्रकाशन) पर आधारित है। इम्पाला एसक्यूएल जैसे प्रश्नों का समर्थन करता है और यह HiveQL के साथ संगत है। इसलिए, हाइव के शीर्ष पर बनाए गए किसी भी अनुप्रयोग को इम्पाला के साथ न्यूनतम बदलाव के साथ काम करना चाहिए। हाइव और इम्पाला के बीच मुख्य अंतर यह है कि जबकि हाइवेक्यूल को जावा मैपरेड जॉब्स में परिवर्तित किया जाता है, इम्पाला एसक्यूएल क्वेरी को जावा मैपरेड जॉब्स में शामिल नहीं करता है।
क्या आपको किसी विशेष आवश्यकता के लिए सुअर या छत्ता के साथ जाना चाहिए? यह एक अन्य ब्लॉग के लिए एक विषय है।
प्रवीण श्रीपति से अनुमति के साथ पुनर्प्रकाशित। मूल लेख यहां पाया जा सकता है: http://www.thecloudavenue.com/2012/12/introduction-to-apache-hive-and-pig.html
