The ChainMapper class allows to use multiple Mapper classes within a single Map task. The ChainReducer class allows to chain multiple Mapper classes after a Reducer within the Reducer task. 没有Chain之前,只能通用多个Job迭代来实现数据递进处理,这样做的缺点是: a. 每次迭代,如果所有 Job 对象…
MapReduce编程模型 在Google的一篇重要的论文MapReduce: Simplified Data Processing on Large Clusters中提到,Google公司有大量的诸如Web请求日志.爬虫抓取的文档之类的数据需要处理,由于数据量巨大,只能将其分散在成百上千台机器上处理,如何处理并行计算.如何分发数据.如何处理错误,所有这些问题综合在一起,需要大量的代码处理,因此也使得原本简单的运算变得难以处理. 为了解决上述复杂的问题,Google设计一个新的抽象模型,使用这…