hive中如何计算reduce的个数
小编给大家分享一下hive中如何计算reduce的个数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
hive> select count(1) from serde_regex; Automatically selecting local only mode for query Query ID = hadoop_20160125101917_ab5615a4-e6f1-47e3-9e97-6795c3268cea Total jobs = 1 Launching Job 1 out of 1 Number of reduce tasks determined at compile time: 1 In order to change the average load for a reducer (in bytes): set hive.exec.reducers.bytes.per.reducer=<number> In order to limit the maximum number of reducers: set hive.exec.reducers.max=<number> In order to set a constant number of reducers: set mapreduce.job.reduces=<number>
计算的公式: reduce个数 = InputFileSize / bytes per reducer
有三个参数
hive.exec.reducers.bytes.per.reducer 控制一个reducer能处理多少input。 default 256M
hive> set hive.exec.reducers.bytes.per.reducer; hive.exec.reducers.bytes.per.reducer=256000000
hive.exec.reducers.max 控制最大的reducer数量。如果input / bytes per reduce > max 会启动该参数设定的值,
hive> set hive.exec.reducers.max; hive.exec.reducers.max=1009
mapreduce.reduce.tasks 这个参数指定了,那么不会进行计算了,都会使用这个参数进行计算,
hive> set mapreduce.reduce.tasks; mapred.reduce.tasks=-1
以上是“hive中如何计算reduce的个数”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!