HQL में उदाहरण के साथ शीर्ष हाइव कमांड्स



यह ब्लॉग HQL में उदाहरण के साथ हाइव कमांड्स पर चर्चा करता है। क्रिएट, ड्रॉप, ट्रंकट, अल्टर, शो, DESCRIBE, USE, लोड, INSERT, JOIN और भी बहुत से हाइव कमांड

इस ब्लॉग पोस्ट में, उदाहरणों के साथ शीर्ष हाइव कमांड पर चर्चा करें। इन हाइव आदेशों के लिए नींव स्थापित करना बहुत महत्वपूर्ण है

Edureka 2019 Tech Career Guide बाहर है! गाइड में सबसे नौकरी की भूमिका, सटीक सीखने के रास्ते, उद्योग के दृष्टिकोण और बहुत कुछ। डाउनलोड अभी।

हाइव क्या है?

अपाचे हाइव एक डाटा वेयरहाउस सिस्टम है, जिसे Hadoop पर काम करने के लिए बनाया गया है। इसका उपयोग वितरित भंडारण में रहने वाले बड़े डेटासेट को क्वेरी और प्रबंधित करने के लिए किया जाता है। Apache Hadoop का ओपन सोर्स प्रोजेक्ट बनने से पहले Hive की उत्पत्ति फेसबुक में हुई थी। यह Hadoop में डेटा पर संरचना को प्रोजेक्ट करने और HiveQL (HQL) नामक SQL जैसी भाषा का उपयोग करके उस डेटा को क्वेरी करने के लिए एक तंत्र प्रदान करता है।





हाइव का उपयोग किया जाता है क्योंकि हाइव में टेबल एक रिलेशनल डेटाबेस में टेबल के समान हैं। यदि आप एसक्यूएल से परिचित हैं, तो यह एक केकवॉक है। कई उपयोगकर्ता एक साथ हाइव-क्यूएल का उपयोग करके डेटा को क्वेरी कर सकते हैं।

HQL क्या है?

हाइव एक सरल SQL जैसी क्वेरी भाषा को Hive-QL (HQL) नामक बड़े डेटासेट को क्वेरी और प्रबंधित करने के लिए परिभाषित करता है। यदि आप SQL भाषा से परिचित हैं तो इसका उपयोग करना आसान है। हाइव ऐसे प्रोग्रामर्स को अनुमति देता है जो अधिक परिष्कृत विश्लेषण करने के लिए कस्टम मैपरेड फ्रेमवर्क लिखने के लिए भाषा से परिचित हैं।



छत्ता के उपयोग:

1. अपाचे हाइव ने भंडारण का वितरण किया।

2. छत्ता आसान डेटा निकालने / परिवर्तन / लोड (ETL) को सक्षम करने के लिए उपकरण प्रदान करता है

3. यह विभिन्न डेटा प्रारूपों पर संरचना प्रदान करता है।



4. हाइव का उपयोग करके, हम Hadoop डिस्ट्रीब्यूटेड फाइल सिस्टम (HDFS में रहने वाले बड़े डेटासेट को क्वेरी करने और प्रबंधित करने के लिए) या अन्य डेटा स्टोरेज सिस्टम जैसे Apache HBase में उपयोग कर सकते हैं।

छत्ता की सीमाएं:

& बैल हाइव ऑनलाइन लेनदेन प्रसंस्करण (ओएलटीपी) के लिए डिज़ाइन नहीं किया गया है, यह केवल ऑनलाइन विश्लेषणात्मक प्रसंस्करण के लिए उपयोग किया जाता है।

& बुल हाइव ओवरराइटिंग या आकर्षक डेटा का समर्थन करता है, लेकिन अपडेट और डिलीट नहीं।

& बैल हाइव में, उप प्रश्न समर्थित नहीं हैं।

क्यों हाइव सुअर का उपयोग किया जाता है?

सुअर की उपलब्धता के बावजूद हाइव का उपयोग करने के कारण निम्नलिखित हैं:

  • Hive-QL एक घोषणात्मक भाषा लाइन SQL है, PigLatin एक डेटा प्रवाह भाषा है।
  • सुअर: एक डेटा-प्रवाह भाषा और बहुत बड़े डेटासेट की खोज के लिए वातावरण।
  • छत्ता: एक वितरित डेटा गोदाम।

छत्ते के घटक:

मेटास्टोर:

हाइव हाइव तालिकाओं के स्कीमा को हाइव मेटास्टोर में संग्रहीत करता है। मेटास्टोर का उपयोग वेयरहाउस में मौजूद तालिकाओं और विभाजन के बारे में सभी जानकारी रखने के लिए किया जाता है। डिफ़ॉल्ट रूप से, मेटास्टोर को उसी प्रक्रिया में चलाया जाता है जैसे कि हाइव सेवा और डिफ़ॉल्ट मेटास्टोर डर्बी डेटाबेस है।

सर्ड:

Serializer, Deserializer एक रिकॉर्ड को संसाधित करने के तरीके पर हाइव करने के निर्देश देता है।

हाइव कमांड्स:

डेटा परिभाषा भाषा (DDL)

DDL स्टेटमेंट का उपयोग डेटाबेस में टेबल्स और अन्य ऑब्जेक्ट को बनाने और संशोधित करने के लिए किया जाता है।

डीडीएल कमांड समारोह
सृजन करना इसका उपयोग तालिका या डेटाबेस बनाने के लिए किया जाता है
प्रदर्शन इसका उपयोग डेटाबेस, टेबल, प्रॉपर्टीज आदि को दिखाने के लिए किया जाता है
आयु इसका उपयोग मौजूदा तालिका में परिवर्तन करने के लिए किया जाता है
DESCRIBE करें यह टेबल कॉलम का वर्णन करता है
TRUNCATE तालिका की पंक्तियों को स्थायी रूप से अलग करने और हटाने के लिए उपयोग किया जाता है
DELETE तालिका डेटा हटाता है, लेकिन, पुनर्स्थापित किया जा सकता है

कमांड सुडो हाइव देकर हाइव शेल पर जाएं और कमांड दर्ज करें 'सृजन करना डेटाबेस नाम> ' हाइव में नया डेटाबेस बनाने के लिए।

हाइव कमांड्स का उपयोग करके हाइव डेटाबेस बनाएं

हाइव गोदाम में डेटाबेस को सूचीबद्ध करने के लिए, कमांड दर्ज करें in डेटाबेस दिखाएं '।

डेटाबेस हाइव गोदाम के एक डिफ़ॉल्ट स्थान में बनाता है। Cloudera में, हाइव डेटाबेस स्टोर / यूजर / हाइव / वेयरहाउस में।

डेटाबेस का उपयोग करने के लिए कमांड है प्रयोग करें

एचडीएफएस से इनपुट डेटा की प्रतिलिपि स्थानीय कमांड से कॉपी का उपयोग करके करें।

जब हम हाइव में एक टेबल बनाते हैं, तो यह हाइव गोदाम के डिफ़ॉल्ट स्थान में बनाता है। - '/ उपयोगकर्ता / हाइव / वेयरहाउस', टेबल के निर्माण के बाद हम एचडीएफएस से डेटा को हाइव टेबल पर स्थानांतरित कर सकते हैं।

निम्न आदेश '/user/hive/warehouse/retail.db' के स्थान के साथ एक तालिका बनाता है

ध्यान दें : Retail.db हाइव गोदाम में बनाया गया डेटाबेस है।

वर्णन करें तालिका के स्कीमा के बारे में जानकारी प्रदान करता है।

डेटा हेरफेर भाषा (DML)

डेटाबेस में डेटा को पुनः प्राप्त करने, स्टोर करने, संशोधित करने, हटाने, सम्मिलित करने और अपडेट करने के लिए डीएमएल स्टेटमेंट्स का उपयोग किया जाता है।

उदाहरण :

लोड, INSERT स्टेटमेंट।

वाक्य - विन्यास :

टेबल में टैब में डेटा लोड करें [tablename]

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

LOAD डेटा LOCAL कमांड के कुछ उदाहरण यहां दिए गए हैं

डेटा को हाइव टेबल में लोड करने के बाद हम डेटा मैनीपुलेशन स्टेटमेंट्स को लागू कर सकते हैं या डेटा को पुनः एकत्रित कर सकते हैं।

रिकॉर्ड की संख्या की गणना करने के लिए उदाहरण:

गणना कुल फ़ंक्शन का उपयोग तालिका में रिकॉर्ड की कुल संख्या की गणना के लिए किया जाता है।

‘बाहरी 'तालिका बनाएँ:

बाहरी बनाएँ कीवर्ड का उपयोग तालिका बनाने के लिए किया जाता है और एक स्थान प्रदान करता है जहां तालिका बनाएगी, ताकि हाइव इस तालिका के लिए डिफ़ॉल्ट स्थान का उपयोग न करे। एक बाहरी डिफ़ॉल्ट भंडारण के बजाय तालिका इसके भंडारण के लिए किसी भी HDFS स्थान की ओर इशारा करती है।

कमांड डालें:

सम्मिलित करें कमांड का उपयोग डेटा हाइव तालिका को लोड करने के लिए किया जाता है। आवेषण एक तालिका या एक विभाजन के लिए किया जा सकता है।

& बैल INSERT OVERWRITE का उपयोग तालिका या विभाजन में मौजूदा डेटा को अधिलेखित करने के लिए किया जाता है।

& बैल INSERT INTO का उपयोग किसी तालिका में मौजूदा डेटा में डेटा को जोड़ने के लिए किया जाता है। (नोट: INSERT INTO वाक्य रचना 0.8 संस्करण से काम करता है)

उदाहरण के लिए ’पार्टीशन बाय’ और ered क्लस्टर्ड बाय ’कमांड:

‘द्वारा विभाजन ‘का उपयोग तालिका को विभाजन में विभाजित करने के लिए किया जाता है और‘ का उपयोग करके बाल्टी में विभाजित किया जा सकता है द्वारा क्लस्टर किया गया ‘कमांड।

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

hive.exec.dynamic.partition = true सेट करें

डिफ़ॉल्ट रूप से, डायनामिक विभाजन सक्षम करने के लिए, यह गलत है

hive.exec.dynamic.partition.mode = nonstrict सेट करें

विभाजन श्रेणी के द्वारा किया जाता है और इसे ered Clustered By ’कमांड का उपयोग करके बाल्टी में विभाजित किया जा सकता है।

Met ड्रॉप टेबल ’स्टेटमेंट एक टेबल के लिए डेटा और मेटाडेटा को हटा देता है। बाहरी तालिकाओं के मामले में, केवल मेटाडेटा हटा दिया जाता है।

Met ड्रॉप टेबल ’स्टेटमेंट एक टेबल के लिए डेटा और मेटाडेटा को हटा देता है। बाहरी तालिकाओं के मामले में, केवल मेटाडेटा हटा दिया जाता है।

तालिका टैबलेन में डेटा स्थानीय inpath u aru.txt 'लोड करें और फिर हम टेबल कमांड का चयन करें * का उपयोग करके कर्मचारी 1 तालिका की जांच करें

चयन करके तालिका में रिकॉर्ड की संख्या की गणना करने के लिए गिनती (*) txnrecords से

एकत्रीकरण:

टैबलेन से गिनती (DISTINCT श्रेणी) चुनें

यह कमांड will cate ’तालिका की अलग श्रेणी की गणना करेगा। यहां 3 अलग-अलग श्रेणियां हैं।

मान लीजिए कि एक और टेबल केट है जहां एफ 1 श्रेणी का फील्ड नाम है।

समूहीकरण:

समूह कमांड का उपयोग परिणाम-समूह को एक या अधिक स्तंभों को समूहित करने के लिए किया जाता है।

श्रेणी के अनुसार txt रिकॉर्ड समूह से श्रेणी, योग (राशि) का चयन करें

यह उसी श्रेणी की मात्रा की गणना करता है।

परिणाम एक तालिका को दूसरी तालिका में संग्रहीत किया जाता है।

Oldtablename से * के रूप में तालिका newtablename बनाएँ

कमांड से जुड़ें:

यहां नाम में एक और तालिका बनाई गई है ‘मेल्स’

ऑपरेशन में शामिल हों :

प्रत्येक से मान का उपयोग करके फ़ील्ड को दो तालिकाओं के संयोजन से जोड़ने के लिए एक ऑपरेशन किया जाता है।

बाईं ओर का बाहरी जोड़ :

टेबल ए और बी के लिए एक बाएं बाहरी जुड़ने (या बस बाईं ओर जुड़ने) का परिणाम हमेशा 'बाएं' तालिका (ए) के सभी रिकॉर्ड में होता है, भले ही शामिल होने की स्थिति 'सही' तालिका में कोई मिलान रिकॉर्ड न मिले। (बी)।

राइट आउटर जॉइन करें :

एक दायां बाहरी जुड़ाव (या दायां जुड़ाव) बारीकी से एक बाईं बाहरी जोड़ जैसा दिखता है, उलटे टेबल के उपचार के साथ। 'दाएँ' तालिका (B) की प्रत्येक पंक्ति कम से कम एक बार सम्मिलित तालिका में दिखाई देगी।

पूर्ण सम्मिलित हों :

शामिल तालिका में दोनों तालिकाओं से सभी रिकॉर्ड होंगे, और दोनों तरफ लापता मैचों के लिए NULLs भरें।

अजगर ने __init__ को हराया

एक बार हाइव के साथ किए जाने के बाद हम हाइव शेल से बाहर निकलने के लिए कमांड का उपयोग कर सकते हैं।

छत्ते से बाहर निकलना

Hive बिग डेटा और Hadoop नामक बड़ी पहेली का एक हिस्सा है। Hadoop सिर्फ Hive की तुलना में बहुत अधिक है। Hadoop में आपको और कौन से कौशल होने चाहिए, यह देखने के लिए नीचे क्लिक करें।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया टिप्पणी अनुभाग में इसका उल्लेख करें और हम आपके पास वापस आ जाएंगे।

संबंधित पोस्ट:

7 तरीके बड़े डेटा प्रशिक्षण आपके संगठन को बदल सकते हैं

हाइव डेटा मॉडल