मैं हाइव में उप-चयन कैसे कर सकता हूं? मुझे लगता है कि मैं वास्तव में एक स्पष्ट गलती है कि मेरे लिए बहुत स्पष्ट नहीं है ...हैडोप हाइव क्वेरी: मल्टी-जॉइन
त्रुटि मैं प्राप्त कर रहा हूँ बनाने जा सकता है: FAILED: Parse Error: line 4:8 cannot recognize input 'SELECT' in expression specification
यहाँ मेरी तीन स्रोत तालिकाओं हैं:
aaa_hit -> [SESSION_KEY, HIT_KEY, URL]
aaa_event-> [SESSION_KEY,HIT_KEY,EVENT_ID]
aaa_session->[SESSION_KEY,REMOTE_ADDRESS]
.. .और मुझे क्या करना चाहते हैं इस तरह एक परिणाम तालिका में परिणाम सम्मिलित है:
result -> [url, num_url, event_id, num_event_id, remote_address, num_remote_address]
... जहां स्तंभ 1 यूआरएल, कॉलम 3 यूआरएल प्रति शीर्ष 1 "घटना" है, और स्तंभ 5 टी है वह उस URL पर जाने के लिए शीर्ष 1 REMOTE_ADDRESS। (यहां तक कि कॉलम पिछले कॉलम के "गिनती" हैं।)
Soooooo ... मैंने यहां क्या गलत किया?
INSERT OVERWRITE TABLE result2
SELECT url,
COUNT(url) AS access_url,
(SELECT events.event_id as evt,
COUNT(events.event_id) as access_evt
FROM aaa_event events
LEFT OUTER JOIN aaa_hit hits
ON (events.hit_key = hit_key)
ORDER BY access_evt DESC LIMIT 1),
(SELECT sessions.remote_address as remote_address,
COUNT(sessions.remote_address) as access_addr
FROM aaa_session sessions
RIGHT OUTER JOIN aaa_hit hits
ON (sessions.session_key = session_key)
ORDER BY access_addr DESC LIMIT 1)
FROM aaa_hit
ORDER BY access_url DESC;
बहुत बहुत शुक्रिया :)
क्या त्रुटि आप दे छत्ता है? हाइव एक काफी उपयोगी त्रुटि और क्वेरी में सटीक स्थिति देता है जो इसकी समस्या पैदा कर रहा है। इससे आपको क्वेरी में सटीक स्थान को देखने की अनुमति मिलनी चाहिए जिससे समस्याएं पैदा हो रही हैं, या हम कर सकते हैं। – Nija
अच्छा बिंदु। मुझे 4: 8, या पहले उप-चयन कथन की शुरुआत में त्रुटि मिल रही है। अधिक विशेष रूप से: 'विफल: पार्स त्रुटि: पंक्ति 4: 8 अभिव्यक्ति विनिर्देश' – batman