• 关于如何设置reduce的个数


    在默认情况下,一个MapReduce Job如果不设置Reducer的个数,那么Reducer的个数为1。具体,可以通过JobConf.setNumReduceTasks(int numOfReduceTasks)方法来设置Reducer的个数。那么,如何确定Reducer的个数呢,Hadoop documentation 推荐了两个计算公式:
    
        0.95 * NUMBER_OF_NODES * mapred.tasktracker.reduce.tasks.maximum
        1.75 * NUMBER_OF_NODES * mapred.tasktracker.reduce.tasks.maximum
    
    其中,NUMBER_OF_NODES 代表集群中计算节点的个数,mapred.tasktracker.reduce.tasks.maximum代表每一个节点所分配的Reducer任务槽的个数

        mapred.tasktracker.reduce.tasks.maximum

    代表每一个节点所分配的Reducer任务槽的个数..........

    Dong 13小时前

    这个通常 根据经验配置,一般考虑cpu就行了,有几个cpu,配几个slot,如果任务是IO密集型的,可以多配一些slot。

    类比这个问题:一个机器上有8个cpu,为了充分利用这些资源,最多启动多少个线程,一般8个,或者稍微大于8个,取决于你的应用类型..

     
  • 相关阅读:
    Python与mongo交互
    MongoDB数据库操作
    爬虫之xpath解析库
    selenium常用操作
    无头浏览器的使用
    BeautifulSoup库使用
    urllib简单介绍
    爬虫自动化工具防检测
    支付宝支付
    TortoiseSVN使用教程[多图超详细]
  • 原文地址:https://www.cnblogs.com/i80386/p/3641298.html
Copyright © 2020-2023  润新知