hive sql 优化()-hive
hive sql 优化()
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再过滤。
————————
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再过滤。