繁体   English   中英

如何修改Map-Reduce执行顺序?

[英]How to modify the Map-Reduce execution order?

原始的Map-Reduce执行链是: InputSplits-->Mapper--> [Sorting/Shuffling, etc]-->Reducer-->...

现在我不希望输入拆分首先到达Mappers,而是转到其他新阶段(我们可以称之为Pre-Mapper,例如,这个类将由我自己创建)。

所以新订单将是: InputSplits -> Pre-Mapper->Mapper ->...

我正在阅读源代码。 但是,我仍然找不到任何线索(我应该触摸哪些课程)。

任何建议都是受欢迎的。 非常感谢你 :)

也许你应该看看链接映射器: ChainMapper

你可以实现它使用两个阶段MapReduce:

第一阶段:Mapper - > Sorting / Shuffling - > Reducer [这个reducer除了直接用Mapper写数据外什么都不做];

第二阶段:Mapreduce;

这一阶段就是你在Pre Mapper中做的事情;

您可以考虑重写MapRunner

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM