1.CBO优化

#启用CBO优化
set hive.cbo.enable=true;
2.谓词下推
通俗的来讲就是,在不影响最终结果的情况下,将where条件提前,减少后续数据的量。

#开启谓词下推
set hive.optimize.pdd=true;
3.矢量化查询优化
如下图,矢量化计算简单来说就是将每列数据看成一个列向量,之后进行向量的计算,此时只需要调用一个cpu的指令完成即可。
通过使用矢量化计算,可以减少对cpu指令的依赖,极大的提高了一些典型查询场景,如表扫描、过滤、聚合、和join等操作。

#开启矢量化查询
set hive.vectorized.execution.enable=true;

4.Fetch抓取优化
**Fetch抓取优化即对hive中的某些情况的查询,可以不去走mapreduce计算。**也就是说,对于一些简单的查询任务,可以不用将查询任务提交的yarn上去跑。


5.本地模式


6.并行执行
hive中的并行执行优化不是指的map或者reduce并行,而是指的是对sql转化的执行计划的每个stage的并行。通常来说这些能够并行执行的stage是互不依赖的。

7.严格模式


1万+

被折叠的 条评论
为什么被折叠?



