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个
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值