首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Hadoop-2.4.1学习之如何确定Mapper数量

    MapReduce框架的优势是可以在集群中并行运行mapper和reducer任务,那如何确定mapper和reducer的数量呢,或者说Hadoop如何以编程的方式控制作业启动的mapper和reducer数量呢?在《Hadoop-2.4.1学习之Mapper和Reducer》中曾经提及建议reducer的数量为(0.95~1.75 ) * 节点数量 * 每个节点上最大的容器数,并可使用方法Job.setNumReduceTasks(int),mapper的数量由输入文件的大小确定,且没有相应的setNumMapTasks方法,但可以通过Configuration.set(JobContext.NUM_MAPS, int)设置,其中JobContext.NUM_MAPS的值为mapreduce.job.maps,而在Hadoop的官方网站上对该参数的描述为与MapReduce框架和作业配置巧妙地交互,并且设置起来更加复杂。从这样一句含糊不清的话无法得知究竟如何确定mapper的数量,显然只能求助于源代码了。

    02

    基于django+python+mysql的进销存管理系统的设计与实现

    随着时代的发展,商场商品的进销存数量和总类日益庞大,传统的商场对货物的进销存的记录存在许多弊端和不便。例如庞大的商品数量和种类,使得商品的进存销记录十分困难;纸质的记录容易使商品的进存销记录丢失或遭人恶意篡改,造成损失。因此有必要开发一个这样的系统去提高商品进存销记录的效率,防止造成不必要损失。基于以上特点设计与实现基于Django框架的进销存系统平台,旨在方便商场管理进销存过程中产生的订单和仓库,商场的货物记录。 本系统的设计以pycharm作为开发工具,前端运用HTML5来设计基本结构,用css来美化前端的界面,后台主要使用django框架实现,数据库使用Mysql数据库。本系统主要实现了八大功能模块,分别是登录、进货单管理、出货单管理、仓库货物管理、商场商品管理、普通用户管理、管理用户管理、账目统计管理。 本系统在开发前经过反复设计与修改,开发过程中严格按照设计步骤执行,开发完成后经过多次测试,并且根据测试结果不断完善改进,最终系统才能达到预期的效果,用户登录后可以正常的使用本系统的所有功能,可以进行各种增删改查的操作。日后系统还可以根据需求不断地添加和完善各种功能,不断进步和完善,使本系统更加成熟。

    01

    Hadoop-2.4.1学习之Mapper和Reducer

    MapReduce允许程序员能够容易地编写并行运行在大规模集群上处理大量数据的程序,确保程序的运行稳定可靠和具有容错处理能力。程序员编写的运行在MapReduce上的应用程序称为作业(job),Hadoop既支持用Java编写的job,也支持其它语言编写的作业,比如Hadoop Streaming(shell、python)和Hadoop Pipes(c++)。Hadoop-2.X不再保留Hadoop-1.X版本中的JobTracker和TaskTracker组件,但这并不意味着Hadoop-2.X不再支持MapReduce作业,相反Hadoop-2.X通过唯一的主ResourceManager、每个节点一个的从NodeManager和每个应用程序一个的MRAppMaster保留了对MapReduce作业的向后兼容。在新版本中MapReduce作业依然由Map和Reduce任务组成,Map依然接收由MapReduce框架将输入数据分割为数据块,然后Map任务以完全并行的方式处理这些数据块,接着MapReduce框架对Map任务的输出进行排序,并将结果做为Reduce任务的输入,最后由Reduce任务输出最终的结果,在整个执行过程中MapReduce框架负责任务的调度,监控和重新执行失败的任务等。

    02
    领券