Как я могу сделать подвыбор в Hive? Я думаю, что могу совершить действительно очевидную ошибку, которая не так очевидна для меня...
Я получаю сообщение об ошибке: 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 — это URL-адрес, столбец 3 — это первое «событие» для каждого URL-адреса, а столбец 5 — первое REMOTE_ADDRESS для посещения этого URL-адреса. (Четные столбцы являются «количеством» предыдущего столбца.)
Ооооооо... что я здесь сделал не так?
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;
Большое спасибо :)
FAILED: Parse Error: line 4:8 cannot recognize input 'SELECT' in expression specification
- person batman   schedule 18.06.2011