HiveQL (Hive Query Language) क्या है?
Hive, Hive Query Language (HiveQL) का उपयोग करके Hive प्रश्नों को लिखने के लिए एक CLI प्रदान करता है। आमतौर पर HQL सिंटैक्स SQL सिंटैक्स के समान होता है, जिससे अधिकांश डेटा विश्लेषक परिचित होते हैं।
हाइव की SQL- प्रेरित भाषा उपयोगकर्ता को मैप कम करने की प्रोग्रामिंग की जटिलता से अलग करती है। यह संबंधपरक डेटाबेस की दुनिया से परिचित अवधारणाओं का पुन: उपयोग करता है, जैसे कि तालिकाओं, पंक्तियों, स्तंभों और स्कीमा, सीखने में आसानी के लिए।
अधिकांश इंटरैक्शन एक कमांड लाइन इंटरफ़ेस (सीएलआई) पर जगह लेते हैं। हाइव, हाइव क्वेरी भाषा (हाइव-क्यूएल) का उपयोग करके हाइव प्रश्नों को लिखने के लिए एक सीएलआई प्रदान करता है।
आमतौर पर, HiveQL सिंटैक्स SQL सिंटैक्स के समान है जो अधिकांश डेटा विश्लेषकों से परिचित हैं। हाइव चार फ़ाइल स्वरूपों का समर्थन करता है जो TEXTFILE, SEQUENCEFILE, ORC और RCFILE (रिकॉर्ड स्तंभ फ़ाइल) हैं।
- एकल उपयोगकर्ता मेटाडेटा संग्रहण के लिए हाइव डर्बी डेटाबेस और
- कई उपयोगकर्ता मेटाडेटा या साझा मेटाडेटा केस के लिए हाइव MYSQL का उपयोग करता है
निर्मित ऑपरेटरों
हाइव हाइव गोदाम के अंदर मौजूद तालिकाओं पर कार्यान्वित किए जाने वाले डेटा संचालन के लिए बिल्ट-इन ऑपरेटर प्रदान करता है।
इन ऑपरेटरों को ऑपरेंड पर गणितीय कार्यों के लिए उपयोग किया जाता है, और यह लागू किए गए तर्क के अनुसार विशिष्ट मूल्य लौटाएगा।
HIVE में निर्मित ऑपरेटरों के प्रकार हैं:
- संबंधपरक संकारक
- अंकगणितीय आपरेटर
- लॉजिकल ऑपरेटर्स
- कॉम्प्लेक्स प्रकार पर ऑपरेटर
- जटिल प्रकार के रचनाकार
संबंधपरक संकारक:
हम दो ऑपरेंड के बीच संबंध तुलना के लिए रिलेशनल ऑपरेटरों का उपयोग करते हैं।
- ऑपरेटरों जैसे बराबरी, न के बराबर, इससे कम, से अधिक ... आदि
- इन ऑपरेटर्स में ऑपरेंड प्रकार सभी प्रकार के होते हैं।
निम्न तालिका हमें संबंधित ऑपरेटरों और इसके उपयोग के बारे में विवरण देगी।
बिल्ट-इन ऑपरेटर | विवरण | ओपेरंड |
एक्स = वाई | सही है अगर एक्सप्रेशन एक्स के समकक्ष है तो Y अन्यथा FALSE। | यह सभी आदिम प्रकारों को लेता है |
X! = Y | सही है अगर एक्सप्रेशन X, Y अन्यथा FALSE के बराबर नहीं है। | यह सभी आदिम प्रकारों को लेता है |
एक्स <वाई | सही है अगर एक्सप्रेशन X, Y अन्यथा FALSE से कम है। | यह सभी आदिम प्रकारों को लेता है |
एक्स <= वाई | सही है अगर एक्सप्रेशन एक्स से कम या बराबर है तो Y अन्यथा FALSE। | यह सभी आदिम प्रकारों को लेता है |
एक्स> वाई | सही है अगर एक्सप्रेशन एक्स से अलग है तो Y अन्यथा FALSE। | यह सभी आदिम प्रकारों को लेता है |
एक्स> = वाई | सही है अगर एक्सप्रेशन Y से अधिक या बराबर है तो Y अन्यथा FALSE। | यह सभी आदिम प्रकारों को लेता है |
X IS NULL | सही है अगर एक्सप्रेशन NULL अन्यथा FALSE का मूल्यांकन करता है। | यह सभी प्रकार लेता है |
एक्स पूरा नहीं है | FALSE यदि एक्सप्रेशन NULL का मूल्यांकन करता है अन्यथा TRUE। | यह सभी प्रकार लेता है |
X LIKE Y | सही अगर स्ट्रिंग पैटर्न X का मिलान Y से होता है अन्यथा FALSE। | केवल स्ट्रिंग्स लेता है |
X RLIKE Y | NULL अगर X या Y NULL है, तो TRUE यदि X का कोई भी विकल्प जावा नियमित अभिव्यक्ति Y से मेल खाता है, अन्यथा FALSE। | केवल स्ट्रिंग्स लेता है |
एक्स REGEXP वाई | RLIKE के समान। | केवल स्ट्रिंग्स लेता है |
अंकगणित संचालक :
हम संचालन पर अंकगणितीय संचालन करने के लिए अंकगणितीय ऑपरेटरों का उपयोग करते हैं
- जिन ऑपरेशंस का हम उपयोग करते हैं, उनके बीच अंकगणित संचालन जैसे जोड़, घटाव, गुणा और भाग।
- इन ऑपरेटर्स में ऑपरेंड प्रकार सभी प्रकार के नंबर होते हैं
नमूना उदाहरण:
2 + 3 परिणाम 5 देता है।
इस उदाहरण में, '+' है, और इसपर 2 और 3 ऑपरेंड हैं। वापसी मान 5 है
निम्नलिखित तालिका हमें अंकगणित ऑपरेटरों के बारे में विवरण देगी
बिल्ट-इन ऑपरेटर | विवरण | ओपेरंड |
एक्स + वाई | यह X और Y मान जोड़ने का आउटपुट लौटाएगा। | इसमें सभी प्रकार के नंबर लगते हैं |
एक्स - वाई | यह X मान से Y को घटाने का आउटपुट लौटाएगा। | इसमें सभी प्रकार के नंबर लगते हैं |
एक्स * वाई | यह X और Y मान को गुणा करने का आउटपुट लौटाएगा। | इसमें सभी प्रकार के नंबर लगते हैं |
एक्स / वाई | यह X से Y को विभाजित करने का आउटपुट लौटाएगा। | इसमें सभी प्रकार के नंबर लगते हैं |
X% Y | यह Y द्वारा X को विभाजित करने के परिणामस्वरूप शेषफल लौटाएगा। | इसमें सभी प्रकार के नंबर लगते हैं |
X & Y | यह बिटवाइज़ AND X और Y का आउटपुट लौटाएगा। | इसमें सभी प्रकार के नंबर लगते हैं |
एक्स | य | यह बिटवाइज़ OR X और Y का आउटपुट लौटाएगा। | इसमें सभी प्रकार के नंबर लगते हैं |
एक्स वाई | यह X और Y के बिट वाइज XOR का आउटपुट लौटाएगा। | इसमें सभी प्रकार के नंबर लगते हैं |
~ एक्स | यह X का बिटवाइज NOT का आउटपुट लौटाएगा। | इसमें सभी प्रकार के नंबर लगते हैं |
लॉजिकल ऑपरेटर्स:
हम ऑपरेंड पर लॉजिकल ऑपरेशंस करने के लिए लॉजिकल ऑपरेटर्स का इस्तेमाल करते हैं
- तार्किक संचालन जैसे AND, OR, ऑपरेंड्स के बीच नहीं हम इन ऑपरेटर्स का उपयोग करते हैं।
- इन ऑपरेटर्स में ऑपरेंड प्रकार सभी BOOLEAN प्रकार हैं
निम्न तालिका हमें तार्किक ऑपरेटरों के बारे में विवरण देगी
ऑपरेटर्स | विवरण | ऑपरेंड |
एक्स और वाई | TRUE यदि X और Y दोनों TRUE हो, अन्यथा FALSE। | केवल बूलियन प्रकार |
X && Y | X और Y के समान लेकिन यहाँ हम && प्रतीक का उपयोग कर रहे हैं | केवल बूलियन प्रकार |
एक्स या वाई | TRUE यदि X या Y या दोनों TRUE हो, अन्यथा FALSE। | केवल बूलियन प्रकार |
एक्स || य | एक्स या वाई के रूप में एक ही है, लेकिन यहाँ हम उपयोग कर रहे हैं || प्रतीक | केवल बूलियन प्रकार |
एक्स नहीं | यदि X FALSE है तो सही, अन्यथा FALSE। | केवल बूलियन प्रकार |
!एक्स | एक्स के रूप में ही नहीं, लेकिन यहाँ हम उपयोग कर रहे हैं! प्रतीक | केवल बूलियन प्रकार |
जटिल प्रकार पर ऑपरेटर:
निम्न तालिका हमें कॉम्प्लेक्स टाइप ऑपरेटरों के बारे में विवरण देगी। ये ऐसे ऑपरेटर हैं जो जटिल प्रकारों में तत्वों तक पहुंचने के लिए एक अलग तंत्र प्रदान करेंगे।
ऑपरेटर्स | ऑपरेंड | विवरण |
ए [एन] | A एक ऐरे है और n एक पूर्णांक प्रकार है | यह सरणी ए में एनटीटी तत्व लौटाएगा। पहले तत्व में 0 का सूचकांक है |
एम [कुंजी] | M एक मानचित्र है | यह मानचित्र में कुंजी के अंतर्गत आने वाले मानों को लौटाएगा |
जटिल प्रकार के निर्माणकर्ता:
निम्न तालिका हमें जटिल प्रकार के निर्माणकर्ताओं के बारे में विवरण देगी। यह जटिल डेटा प्रकारों पर उदाहरणों का निर्माण करेगा। ये हाइव में जटिल डेटा प्रकार जैसे कि ऐरे, मैप और स्ट्रक्चर प्रकार के होते हैं।
इस खंड में, हम कॉम्प्लेक्स टाइप कन्स्ट्रक्टर्स पर किए गए कार्यों को देखने जा रहे हैं।
ऑपरेटर्स | ऑपरेंड | विवरण |
सरणी | (val1, val2,…) | यह दिए गए तत्वों के साथ एक सरणी बनाएगा जैसा कि val1, val2 जैसे उल्लेखित है |
Create_ संघ | (टैग, वैल 1, वैल 2,…) | यह टैग पैरामीटर द्वारा उल्लिखित मानों के साथ एक संघ प्रकार बनाएगा |
नक्शा | (की 1, मान 1, की 2, मान 2,…) | यह दिए गए कुंजी / मान जोड़े के साथ ऑपरेंड में उल्लिखित एक नक्शा बनाएगा |
नाम दिया गया | (name1, val1, name2, val2,…) | यह दिए गए फ़ील्ड नाम और ऑपरेंड्स में उल्लिखित मानों के साथ एक स्ट्रक्चर बनाएगा |
struct | (val1, val2, val3,…) | दिए गए फ़ील्ड मानों के साथ एक संरचना बनाता है। संरचना क्षेत्र के नाम col1, col2, होंगे। |
सारांश:
हाइव हाइव गोदाम में संग्रहीत डेटा में हेरफेर करने के लिए कुछ इनबिल्ट फ़ंक्शन और ऑपरेटर प्रदान करता है। हाइव SQL भाषा के समान है, जो टेबल और डेटाबेस पर सभी प्रकार के डेटा संचालन और क्वेरी का समर्थन करता है।