2014-05-15 4 views
6

मेरे पास एक ही संरचना (स्कीमा) की दो हाइव टेबल हैं। एक ही संरचना के साथ एक ही तालिका में उन्हें जोड़ने के लिए एक कुशल एसक्यूएल अनुरोध क्या होगा?हाइव: फास्ट दो तालिकाओं को एक साथ जोड़ता है?

अद्यतन, यह काफी तेजी से काम करता है मेरे मामले में:

टेबल xy के रूप में चयन बनाएँ * से ( चुनें *
से एक्स यूनिअन सभी
चुनें *
से Y ) tmp;

+0

क्या आपने सफलता के बिना कुछ भी कोशिश की? – vefthym

+1

कृपया मेरा प्रश्न अपडेट – DarqMoth

उत्तर

6

यदि आप table_A और table_b को एक ही में विलय करने का प्रयास कर रहे हैं, तो सबसे आसान तरीका UNION ALL ऑपरेटर का उपयोग करना है। आप सिंटैक्स पा सकते हैं और यहां मामलों का उपयोग कर सकते हैं - https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Union

0

"यूनियन ऑल" एक सही समाधान है लेकिन महंगा, संसाधन/समय के अनुसार हो सकता है। मैं दो विभाजनों के साथ एक टेबल बनाने की सिफारिश करता हूं, तालिका ए के लिए तालिका ए और दूसरे के लिए एक। इस तरह, मर्ज करने की कोई ज़रूरत नहीं है (या सभी संघ)। जैसे ही दोनों विभाजन पॉप्युलेट हो जाते हैं, विलय तालिका उपलब्ध होती है।

+0

देखें यह प्रश्न का उत्तर नहीं प्रदान करता है। एक बार आपके पास पर्याप्त [प्रतिष्ठा] (https://stackoverflow.com/help/whats-reputation) हो जाने पर आप [किसी भी पोस्ट पर टिप्पणी कर सकेंगे] (https://stackoverflow.com/help/privileges/comment); इसके बजाय, [उन उत्तरों को प्रदान करें जिन्हें पूछताछ से स्पष्टीकरण की आवश्यकता नहीं है] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-कर-बजाय)। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/18 9 15443) –

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