Hadoop 配置单元:在“选择”中使用“选择”
首先,我使用了查询:Hadoop 配置单元:在“选择”中使用“选择”,hadoop,hive,hiveql,Hadoop,Hive,Hiveql,首先,我使用了查询: select name from tab1 where id in (select id from (select id,count(id) as a from tab2 group by id order by a desc limit 1) ; 我开始知道在蜂巢里选择是不可能的。 所以我用变量修改了它 set var1= sel
select name
from tab1
where id in (select id
from (select id,count(id) as a
from tab2
group by id
order by a desc limit 1) ;
我开始知道在蜂巢里选择是不可能的。
所以我用变量修改了它
set var1= select count(id) as a from tab2 group by id order by a desc limit 1;
select name from tab1 group by name having count(id)='${hiveconf:var1}';
但是在'${hiveconf:var1}'
的位置,查询被替换,并且再次得到相同的错误
有什么方法可以做到这一点吗?运行第一个查询时出现了什么错误?配置单元中的每个子查询都必须有一个别名。运行第一个查询时出现了什么错误?配置单元中的每个子查询都必须有别名。出现以下错误。错误[10128]:尚未支持UDAF“count”的位置在内部选择的order by中没有点。完全移除它。@Andrew-它附带了
limit
Ah,错过了。您对使用别名所做的更改应能正常工作。出现以下错误。错误[10128]:尚未支持UDAF“count”的位置在内部选择的order by中没有点。完全移除它。@Andrew-它附带了limit
Ah,错过了。您对使用别名所做的更改应该可以正常工作。
select t1.name
from tab1 t1
join (select id
,count(*) as cnt
from tab2
group by id
order by cnt desc
limit 1
) t2
on t2.id = t1.id