3.控制hive map reduce个数
参考:
https://blog.csdn.net/wuliusir/article/details/45010129
https://blog.csdn.net/zhong_han_jun/article/details/50814246
1.split的计算方式:
splitsize = max(splitsize,min(blocksize,filesize/NUMmaps))
NUMmaps即为默认的map数,默认为1,也就是说最大的splitsize为文件的大小。
2.不同的hive.input.format时map个数
hive 的split size在使用不同的input format时依赖的参数不同。
- hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat
此时由以下三个参数控制
mapred.max.split.size #控制最大split
mapred.min.split.size.per.node #控制最小split,优先级低
mapred.min.split.size.per.rack #控制最小split,优先级高
- hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat
此时由
mapred.min.split.size
mapred.map.tasks #可以忽略,默认为1
在做split时,不如一个split的数据也会放到一个map执行,如果splitsize 128m,文件150m,则会有两个map,一个128m,另外一个22m,这样两个map执行的时间就不一样了
注意
把mapred.min.split.size\mapred.min.split.size.per.node 从128M增加到256M,可能并不会降低map数,这时需要增大数值,一边增加一边测试
3.reduce个数
reduce可以通过设置set mapred.reduce.tasks=100来指定个数,或者指定reduce计算的数据,set hive.exec.reducers.bytes.per.reducer=1073741824
以下是个样例:
set mapred.max.split.size=1024000000;
set mapred.min.split.size.per.node=512000000;
set mapred.min.split.size.per.rack=512000000;
set mapreduce.task.io.sort.mb=200;
set hive.exec.parallel.thread.number=1 ;
set mapred.reduce.tasks = 314;
set mapreduce.map.memory.mb=1024;
set mapreduce.task.io.sort.factor=50;
3.控制hive map reduce个数的更多相关文章
- 【转】hive优化之--控制hive任务中的map数和reduce数
一. 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务. 主要的决定因素有: input的文件总个数,input的文件大小,集群设置 ...
- hive优化之------控制hive任务中的map数和reduce数
一. 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务. 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的 ...
- hive优化之——控制hive任务中的map数和reduce数
一. 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务.主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文 ...
- Hive任务优化--控制hive任务中的map数和reduce数
一. 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务.主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文 ...
- map和reduce 个数的设定 (Hive优化)经典
一. 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务. 主要的决定因素有: input的文件总个数,input的文件大小,集群设置 ...
- 如何在hadoop中控制map的个数
hadooop提供了一个设置map个数的参数mapred.map.tasks,我们可以通过这个参数来控制map的个数.但是通过这种方式设置map的个数,并不是每次都有效的.原因是mapred.map. ...
- 如何在hadoop中控制map的个数 分类: A1_HADOOP 2015-03-13 20:53 86人阅读 评论(0) 收藏
hadooop提供了一个设置map个数的参数mapred.map.tasks,我们可以通过这个参数来控制map的个数.但是通过这种方式设置map的个数,并不是每次都有效的.原因是mapred.map. ...
- Map/Reduce 工作机制分析 --- 作业的执行流程
前言 从运行我们的 Map/Reduce 程序,到结果的提交,Hadoop 平台其实做了很多事情. 那么 Hadoop 平台到底做了什么事情,让 Map/Reduce 程序可以如此 "轻易& ...
- Map/Reduce个人实战--生成数据测试集
背景: 在大数据领域, 由于各方面的原因. 有时需要自己来生成测试数据集, 由于测试数据集较大, 因此采用Map/Reduce的方式去生成. 在这小编(mumuxinfei)结合自身的一些实战经历, ...
随机推荐
- Python基础-画图:matplotlib.pyplot.scatter
转载自博客:https://blog.csdn.net/qiu931110/article/details/68130199 matplotlib.pyplot.scatter 1.scatter函数 ...
- ansible yaml 语法
yet another markup language -- 另外的一种标记语言 yaml 语法: 序列:同一个类型的数据有多个,用"-" 来区分,叫序列 映射:价值对,用&quo ...
- Spring Cloud 微服务项目实现总架构一
Spring Cloud 服务是一种分布式服务,包括配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,主节点选举, 分布式session, 集群状态等公共组件. 一 注册机 ...
- Docker Cache mechanism
Docker build 的 cache 机制: Docker Daemon 通过 Dockerfile 构建镜像时,当发现即将新构建出的镜像 与已有的新镜像重复时,可以选择放弃构建新的镜像,而是选用 ...
- 撩课-Web大前端每天5道面试题-Day6
1.请说明ECMAScript, JavaScript, Jscript之间的关系? ECMAScript提供脚本语言必须遵守的规则. 细节和准则,是脚本语言的规范. 比如:ES5,ES6就是具体的一 ...
- 【转】SQL中的锁、脏读、不可重复的读及虚读
原文:http://blog.csdn.net/wjeson/article/details/9382067 锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题 ...
- 2017-2018-1 20155320 课堂测试(ch06)
2017-2018-1 20155320 课堂测试(ch06) 1.(单选题 | 1 分) 下面代码中,对数组x填充后,采用直接映射高速缓存,所有对x和y引用的命中率为(D) A . 1 B . 1/ ...
- QtGUI Module's Classes
Qt GUI C++ Classes The Qt GUI module provides the basic enablers for graphical applications written ...
- 【转载】COM 组件设计与应用(十四)——事件和通知(vc.net)
原文:http://vckbase.com/index.php/wv/1244.html 一.前言 我的 COM 组件运行时产生一个窗口,当用户双击该窗口的时候,我需要通知调用者: 我的 COM 组件 ...
- P3592 [POI2015]MYJ
P3592 [POI2015]MYJ 一道比较烦的区间dp.. 昨天上课讲到了这题,然后就在lg翻到了 然后调了很久很久..... 设\(f[l][r][k]\)为区间\([l,r]\)中,最小值\( ...