2016-02-18 9 views
5

मुझे यह जानने की ज़रूरत है कि हम एक कमांड लाइन में लिखी गई क्वेरी को कैसे स्टोर कर सकते हैं जैसे कि हम एसक्यूएल में करते हैं (हम एसक्यूएल सर्वर में ctrl + S का उपयोग करते हैं)।हाइव प्रश्नों को सहेजना

मैंने हाइव क्यूएल प्रश्नों का उपयोग .q या .hql एक्सटेंशन का उपयोग किया है। क्या कोई संभावना है कि मैं अपनी क्वेरी को सहेजने वाले आदेशों की सूची सहेजकर इसे प्राप्त करने के लिए सहेज सकूं।

उत्तर

4

यकीन है कि जो कुछ भी आईडीई आप आप सिर्फ myfile.q के रूप में अपनी फ़ाइल को सहेजने और उसके बाद के रूप में

hive -f myfile.q 

कमांड लाइन से चलाने के तुम भी

hive -f myfile.q > myfileResults.log 

कर सकते हैं यदि आप चाहते हैं कर सकते हैं का उपयोग करें अपने परिणामों को एक लॉग फ़ाइल में पाइप करें।

0

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

http://gethue.com/

https://cwiki.apache.org/confluence/display/Hive/HiveWebInterface

1

(तुम भी संपादक का उपयोग कर सकते हैं) .Write का उपयोग कर "बिल्ली" कमांड सभी प्रश्नों आप फ़ाइल

$cat > MyQueries.hql 
query1 
query2 
. 
. 
Ctrl+D 

नोट के अंदर निष्पादित करना चाहते हैं एक नई फ़ाइल बनाएं : .hql या .q आवश्यक नहीं है। यह सिर्फ हमारे संदर्भ के संदर्भ में है कि यह एक हाइव क्वेरी (फ़ाइल) है।

आप का उपयोग कर एक समय में फाइल के अंदर सभी प्रश्नों निष्पादित कर सकते हैं

$hive -f MyQueries.hql