文章插图
关于在hive任务中number of reducers的探讨:
1.在默认情况下(set mapreduce.job.reduces=-1),实际运行计算过程中reducer的数量会由所读取文件的大小来决定 。文件默认大小是256M,即每256M对应一个reduce 。比如当文件大小为1G时,会启用4个reducer处理数据;当文件大小为400M时,会启用2个reducer来处理 。
2.在进行分区或者sort by 操作时,需要设置mapreduce.job.reduces的数量,此时实际启用的reducer的个数等于设置值 。
3.1 在进行分桶操作的情况下,当 set mapreduce.job.reduces=-1或0时,此时实际启用rediucer的数量会等于桶的个数i 。
3.2在进行分桶操作的情况下,当桶的个数是i时,并且0< set mapreduce.job.reduces<=i时,启用reducer的数量正好是i的因数 。在i相邻的两个因数之间,启用reducer的个数是不变的 。详见下表:
当i为偶数时:
文章插图
当i为奇数时:
文章插图
了解更多大数据相关技术内容欢迎关注尚硅谷教育!
【在hive任务中number of reducers的探讨】
推荐阅读
- 如何编写优雅的 Java 代码
- 唐太宗李世民生平,唐太宗李世民在位
- 以诸葛瞻的口吻于公元263年冬在看完邓艾的将,诸葛亮为什么救邓艾
- 忍冬小说结局在起了么,忍冬花介绍与忍冬价格
- 精肉萝卜馅饼的做法
- 香甜土豆饼的做法
- 芝香油饼的做法
- 土豆洋葱饼的做法
- 诸葛亮死了刘禅当了多少年君主,诸葛亮在刘备死后辅佐刘禅多少年
- 茄子土豆南瓜花饼的做法