1、谓词下推
基本策略是,始终将过滤表达式尽可能移至靠近数据源的位置。例如,将外层查询块的 WHERE 子句中的谓词移入所包含的较低层查询块(例如视图),从而能够提早进行数据过滤以及有可能更好地利用索引。对于大数据领域来说,谓词下推即:不影响结果的情况下,尽量将过滤条件提前执行。
谓词下推在Hive中默认是开启的,也可以通过配置 SET hive.optimize.ppd=true;
显式开启。
例如,对于如下SQL
select a.*, b.* from a join b on (a.col1 = b.col1) where a.col1 > 20 and b.col2 > 40
如果开启了谓词下推,在join之前会先执行where语句中对两个表的过滤操作,从而减少读取和计算的数据量。否则,会先join再过滤。
标签:join,下推,hive,col1,过滤,谓词,sql,优化 From: https://www.cnblogs.com/solong1989/p/14959590.html