Hive的性能优化

hive的优化
-》大表拆分成小表
 -》包含临时表、分区表、外部表
-》sql语句:
 -》优化sql:复杂的sql-》子查询+join -》简化,拆分成多个简单的语句
 join、filter:先过滤再join
-》设置map和reduce的个数 
 reduce数目:可以参数进行设置
  -》hive: set mapreduce.job.reduces=<number>
  -》MR:job.setNumReduceTasks(tasks);
 **map的数量:
 Math.max(minSize, Math.min(maxSize, blockSize))
 blocksize:128M
 
 **代码块中
  FileInputFormat.setMaxInputSplitSize(job, size);
  FileInputFormat.setMinInputSplitSize(job, size);
   -》通过spilt切片的大小来改变map任务数
   
-》开启并行化执行,默认是false
hive.exec.parallel
-》设置同时运行job的数目,根据集群设置,默认是8
hive.exec.parallel.thread.number
-》jvm重用 
 mapreduce.job.jvm.numtasks默认是1,运行一个job会启动一个jvm上运行
 
-》 推测执行:
 缺点:会消耗更多的资源,一般不建议开启,有可能数据会重复写入,造成异常
 
-》hive本地模式: 
hive的本地模式hive.exec.mode.local.auto默认是false
hive底层运行的hadoop集群中的资源,yarn调度,本地模式不会再集群所有机器上运行,会选一台作为本地运行,一般处理小数据量级的数据速度回很快
限制:job输入的数据不能大于128M,map的个数不能超过4个,默认reduce数目 1个
测试:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值