hive 大表 小表 顺序

问题遇到的现象和发生背景

小表关联大表的性能问题,目前我一张大表,10亿左右,用日期分区,每个分区大概是5000W。有张很小的表,表数据是变动的。大概只有几条。

问题相关代码,请勿粘贴截图

select dt,count(1)
from 大表 t
join 小表 t1
on t.dt=t1.dt
group by dt

使用上面的方式查询非常的慢,我也改使用left semi join和mapjon、in、exists性能都很差。
如果改成

select dt,count(1)
from 大表 t
where t.dt in(日期1,日期2)
group by dt
这种方式很快。
请问有什么好的办法提升性能。因为日期参数不是固定的,只能从小表里面取

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

上面的方式走的是全表扫描
下面的添加了where子句,走的是分区查询
解决办法:
select dt,count(1)
from 大表 t
where t.dt in (select dt from 小表)
group by dt