标签:mapper 进阶 数仓 辆车 Hive map 设置 数量
控制 map 任务数量
为什么要控制 map 数量
我们先来了解下什么情况要设置 map 数量。一般来讲,map 数量默认,不需要我们设置,一般情况下,Hive 自己就可以知道到底使用多少个map。
但是,当我们明确知道表的数据量不大,而 Hive 运行启动了几千个 map 的时候,就有必要减小 map 的数量了。好比 1000 个西瓜没必要安排 100 辆车去拉,安排 2 辆车就可以搞定了。
另一方面,当我们发现 map 数量不多,但 map 运行速度极慢的时候。这时可以看一下数据,看看实际需求是不是很大?如果 Hive 启动的 map 数据比较少,就如同用 2 辆车去拉 10000 个西瓜,明显是不够的。
假设如果真遇到上面情况,那么如何调整 map 数量?我们通常会采用以下两种方式解决。
- 第一种解决办法是增加 mapper 个数。可以设置 set mapred.map.tasks= 一个很大的数值, 需要比系统默认的 map 数量大。
- 第二种解决办法是减少 mapper 个数。set maperd.min.split.size= 一个数字,该数值单位是字节,比如设置 1GB,即为 1024000000,因为默认一个 mapper 是 64MB,这样设置就可以让一个 mapper 处理 1GB 数据,自然 mapper 的数量也就减少了。
输入数据对map 数的影响
- 假设输入目录下有1个文件a,大小为780M,那么hadoop会将该文件a分隔成7个块(6个
标签:mapper,进阶,数仓,辆车,Hive,map,设置,数量 来源: https://blog.csdn.net/king14bhhb/article/details/121234444
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。