1

私はHiveで以下のようなことをしようとしています。Hiveの列をサブクエリとして定義するにはどうすればよいですか?これはHiveで可能ですか?

hive -e "           
select
distinct i.SearchListingID,
(select count(*) 
    from calls c 
    where c.ServiceID = i.SearchListingID
    ) as CallsCount
from Impressions i
where i.yyyymmdd = 20120401
limit 10" > ImpressionCalls.txt

Hive history file=/tmp/jd/hive_job_log_jd_201205222049_550931420.txt

失敗:解析エラー:4:1行目は、式の指定で'select''count''('の近くの入力を認識できません

4

1 に答える 1

9

相関サブクエリはHiveではサポートされていません。代わりにこのようなものはどうですか?(Hiveでこのクエリを自分で確認する機会がありませんでした)

select
    i.SearchListingID,
    count(*)
from
    (
    select
         distinct i.SearchListingID as SearchListingID 
    from 
        Impressions i
    where
        i.yyyymmdd = 20120401
    )i
    join
    calls c
    on(c.ServiceID = i.SearchListingID)
limit 10
于 2012-05-23T03:37:46.900 に答える