如何映射 - 减少顺序数据,其中Kn + 1-> Vn + 1 = f(Kn-> Vn)?

时间:2012-09-13 13:38:24

标签: hadoop mapreduce

我有一个更理论化的问题,但它涉及到我过去在没有Hadoop的情况下解决的任务转换为map-reduce平台。

例如,我们有一个视频文件,从技术上讲是一系列帧,我们需要检测每个帧中某些圆形对象的特征:(x,y,大小,失真)。检测算法将两个事物作为输入:帧本身和前一帧的识别结果。

这里的问题是,如何将这样的问题转换为map-reduce范例,以便:

  1. 将使用减速器的好处,在我的情况下,我只能想象mapper
  2. 算法将能够处理序列,而不仅仅是每个帧。
  3. 谢谢

1 个答案:

答案 0 :(得分:1)

  1. 如果您想保留每个帧的数据,则不需要 减少步骤。 Reduce步骤在Hadoop中是可选的。如果你想 运行一些统计数据(例如,在所有帧中平均数据),a 可以使用减速机。
  2. MapReduce不适合顺序处理 这个。
    1. 如果您要处理多个视频,则可以使用每个映射器 处理一个视频。这将为您提供数据并行性。
    2. 您可以查看专为顺序处理而设计的Apache HamaHaLoop等相关Hadoop技术。