Hiveでサブ選択を行うにはどうすればよいですか?私にはそれほど明白ではない本当に明白な間違いを犯しているかもしれないと思います...
私が受け取っているエラー:FAILED: Parse Error: line 4:8 cannot recognize input 'SELECT' in expression specification
これが私の3つのソーステーブルです。
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ごとの上位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;
どうもありがとう :)