20
2021
01

hive cli 中设置调优参数

// 合并 block 减少 task 数量

set ngmr.partition.automerge = true;

// jvm 重用

set mapreduce.job.jvm.numtasks=10;   

// 表示将 n 个 block 安排给单个线程处理。

set ngmr.partition.mergesize.mb =3;

// 开启小文件合并

set hive.merge.sparkfiles = true;

// 开启小文件合并

set hive.map.agg = true;

// 使用向量化查询

set hive.vectorized.execution.enabled = true;

// cbo可以优化hive的每次查询

set hive.cbo.enable = true;

set hive.stats.fetch.column.stats = true;

set hive.stats.fetch.partition.stats = true;

set hive.compute.query.using.stats = true;

 

// 开启数据压缩

set hive.exec.compress.intermediate = true;

set hive.exec.compress.output = true;

// 有数据倾斜的时候进行负载均衡group by操作是否允许数据倾斜,默认是false,当设置为true时,执行计划会生成两个map/reduce作业,第一个MR中会将map的结果随机分布到reduce中,达到负载均衡的目的来解决数据倾斜,

set hive.groupby.skewindata =  true;

// 列裁剪,默认开启true,在做查询时只读取用到的列,这个是个有用的优化;

set hive.optimize.cp = true;


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。