Hadoop Hive Query: Множественное объединение

Как я могу сделать под выделение в Hive? Я думаю, что могу совершить действительно очевидную ошибку, которая не так очевидна для меня ...

Я получаю ошибку: FAILED: Ошибка синтаксического анализа: строка 4: 8 не может распознать ввод «SELECT» в спецификации выражения

Вот мои три исходные таблицы:

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 - верхний 1 «событие» на URL, а столбец 5 - это первый REMOTE_ADDRESS 1 для посещения этого 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;

Большое вам спасибо :)

7
задан batman 17 June 2011 в 22:10
поделиться