Hive执行作业时reduce任务个数设置为多少合适

来源:网络收集 作者:网友

Hive怎样决定reducer个数?

Hadoop MapReduce程序中,reducer个数的设定极大影响执行效率 ,这使得Hive怎样决定reducer个数成为一个关键问题。遗憾的是Hive的估计机制很弱,不指定reducer个数的情况下,Hive会猜测确定一个reducer个数,基于以下两个设定:

1. hive.exec.reducers.bytes.per.reducer(默认为1000^3)

2. hive.exec.reducers.max(默认为999)

计算reducer数的公式很简单:

N=min(参数2,总输入数据量/参数1)

通常情况下,有必要手动指定reducer个数。考虑到map阶段的输出数据量通常会比输入有大幅减少,因此即使不设定reducer个数,重设参数2还是必要的。依据Hadoop的经验,可以将参数2设定为0.95*(集群中TaskTracker个数)。

Reduce任务设置多少个?

正确的reduce任务的 个数应该是0.95或者1.75 ×(节点数 ×mapred.tasktracker.tasks.maximum参数值) 。如果任务数是节点个数的0.95倍,那么所有的reduce任务能够在 map任务的输出传输结束后同时开始运行。如果任务数是节点个数的1.75倍,那么高速的节点会在完成他们第一批reduce任务计算之后开始计算第二批 reduce任务,这样的情况更有利于负载均衡。


相关文档推荐

06 第六章 HBase、Hive、Pig.PPTX

4218621447  0.92MB 74页 积分5

05 第五章 MapReduce.PPTX

4218621446  1.64MB 51页 积分5

Arctic on Hive 助力构建 Streaming Lakehouse.PDF

4218621395 张永翔 2.65MB 28页 积分5

HiveSQL迁移到FlinkSQL在快手的实践.PDF

4218621359 张芒&刘大龙 3.39MB 37页 积分5

Hive SQL on Flink 构建流批一体引擎.PDF

4218621330 罗宇侠 方盛凯 1.21MB 25页 积分5

Flink Hive集成与批流一体.PDF

421862955 李锐 0.95MB 30页 积分4

Apache Flink与Apache Hive的集成.PDF

421886831 李锐 王刚 2.38MB 18页 积分5

hive编程入门课程.PDF

421862804 少杰 0.79MB 40页 积分5

第7章 MapReduce.PPT

421862550 林子雨 3.4MB 46页 积分4

相关文章推荐