2012-01-31 15 views
5

मैं जानना चाहता हूं कि SQL Hive के कंपाइलर द्वारा उत्पन्न कोड क्या है (यानी यदि मैं एक एसक्यूएल वाक्य निष्पादित करता हूं तो मैं एसक्यूएल हाइव के कंपाइलर द्वारा उत्पन्न मैपरेडस नौकरियों का कोड देखना चाहता हूं)।मैं हाइव कंपाइलर द्वारा उत्पन्न MapReduce नौकरियां स्रोत कोड कैसे प्राप्त कर सकता हूं?

मैं इसे कैसे प्राप्त कर सकता हूं?

उत्तर

15

हाइव के लिए, यह भौतिक योजना को xml फ़ाइल में क्रमबद्ध करता है (पेज 15 http://www.slideshare.net/nzhang/hive-anatomy में)। इसलिए, मुझे नहीं लगता कि उपयोगकर्ता हडूप के लिए वास्तविक स्रोत कोड प्राप्त कर सकते हैं। कोड प्राप्त करने के लिए, आप वाईएसमार्ट (http://ysmart.cse.ohio-state.edu/) आज़मा सकते हैं। यह एक अनुवादक है जो आपके एसक्यूएल प्रश्नों को हडूप के लिए जावा स्रोत कोड में अनुवादित करेगा। आप वाईएसमार्ट के ऑनलाइन संस्करण का उपयोग कर सकते हैं। बस स्कीमा और अपनी क्वेरी जमा करें, आप जावा कोड को देखने और डाउनलोड करने में सक्षम होंगे।

+1

बहुत बहुत धन्यवाद !! मैंने अभी पाया था कि योजना को एक्सएमएल फाइलों में क्रमबद्ध किया गया था और वे डिफ़ॉल्ट रूप से निर्देशिका /tmp/hive-${user.name}/ में hdfs फाइल सिस्टम में स्टोर कर रहे हैं। और आप इसकी पुष्टि करते हैं। दूसरी तरफ, प्रोजेक्ट ysmart द्वारा धन्यवाद, यह मेरी मदद कर सकता है। क्या होता है कि मैं निष्पादन तक पार्सर के बाद से हाइव कंपाइलर द्वारा प्राप्त की गई प्रक्रिया को समझने में रूचि रखता हूं। क्या आपके पास कोई जानकारी है जो मेरी मदद कर सकती है? बहुत बहुत धन्यवाद। प्रस्तुति के अलावा – user1180761

+0

मैंने उल्लेख किया है, शायद आप हाइव के स्रोत कोड को देखना चाहते हैं ('org.apache.hadoop.hive.ql.Driver.compile (स्ट्रिंग, बूलियन) से शुरू करें ')। अनुपालन कार्य 'org.apache.hadoop.hive.ql.parse.SemanticAnalyzer' में किया जाता है और आप 'org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal (ASTNode)' पर एक नज़र डाल सकते हैं। साथ ही, अनुकूलकों के लिए 'org.apache.hadoop.hive.ql.optimizer.Optimizer' देखें। आशा है कि ये जानकारी आपकी मदद कर सकती है। – yhuai

संबंधित मुद्दे

 संबंधित मुद्दे