配置单元完整表扫描问题(使用分区列)

nzrxty8p  于 2021-06-26  发布在  Hive
关注(0)|答案(0)|浏览(271)

我在Hive0.13中有一个大表-它每天有大约250GB的数据。因此,每小时大约有10 gb的数据。我有一个bi工具,它想每天或每小时访问这个表的数据,为此我需要测试bi工具将生成并在hive上运行的查询。
当bi用于昨天的每日数据时,其中一个查询如下所示:

select count(*) 
from my_table
where 
yyyy=year(date_sub(TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP())),1))
and mm=month(date_sub(TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP())),1))
and dd=day(date_sub(TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP())),1))
;

我的表在我的\u表的配置单元中,而yyyy、mm和dd是我的\u表中的分区列。它已经以orc格式存储。
上面的查询运行了很长一段时间,当我看到explain扩展输出时,我清楚地看到它正在对我的\表进行全表扫描,而不考虑过滤条件。
我们怎样才能避免这个问题?
请告知。
再次注意:配置单元版本是0.13。我们正在升级。
谢谢,
素德哈萨特瓦
注:
这里提供的解决方案(为什么没有对这个查询进行分区消除?)不适用于我的情况,因为我使用的是配置单元0.13,而当前的\u date函数只在配置单元版本1之后才可用。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题