2016-09-15 52 views
0

我使用Apache MapReduce解析原始数据并将其加载到数据库。用Mapper输出键的最左边两位数执行reducer

我的映射器解析来自文本文件的原始数据行 - 每行获取唯一的数字ID(键)和键值对(值)的集合。

My Reducer会为每个行ID保存数据库上的键值对。

欲组由最左边两个数字线路ID - 使得减速器将处理10开始,然后11的ID,12等 我不想任何减速器上的ID运行从12开始,在所有处理以11开头的IDS的reducer之前完成。

它可以使用Apache MapReduce实现吗?

谢谢!

+0

这听起来不像我这样可能。你为什么想这样做? –

回答

0

根据我的理解,您可以决定每个ID 10,11,12的减速器数量和减速器数量。但由于Map Reduce专为并行处理而设计,因此无法让12等待11,我们不能基于数据的依赖与单一地图减少工作。

您可能会尝试多个MAP缩减作业。

  1. MAP唯一的工作用1个输出对于每个ID
  2. 手动或Oozie的他们排定减速器的方式,作业 过程11个ID的处理12个ID的作业之前运行。

希望它给出一条出路。

相关问题