将普通的java程序转换为map reduce

时间:2011-10-06 06:17:02

标签: hadoop mapreduce

我想编写一个Java包装器,它将'兼容程序'转换为map reduce表单,由Hadoop框架执行。 我知道我的问题很模糊。但这是我打算做的。

  • 获取输入java程序。用户将指定的哪个部分 程序将由map reduce执行。
  • 这个java程序将是 由我的程序输入,它将提供相应的地图减少 程序到hadoop。

我被困在几点上。

  • 每个班级的地图缩减程序会有所不同。我怎么样 概括一下吗?
  • 从哪里开始。
  • 我应该采用什么方法解决这个问题?

欢迎任何建议。这将有助于我决定进一步的方向。

2 个答案:

答案 0 :(得分:1)

一般来说,这是不可能的,并非所有程序都支持MapReduce范例。 MapReduce是一个框架,有些任务可以完成,有些则没有。你可以要求自己确定的最好的问题是alogrithm可以从map减少使用中受益。

  1. 是否有可以并行评估的部分。
  2. 是否必须通过某些键
  3. 进行汇总
  4. 每个分组之间需要共享多少数据。
  5. 可以通过步骤1到3的顺序/循环解决问题。

答案 1 :(得分:1)

看看Hadoop Streaming。您可以使用任何可以读/写STDOUT / STDIN的语言编写map / reduce函数,然后将它们挂钩到Apache Hadoop。 Here是一个很好的教程,介绍如何使用兼容的Python map / reduce函数创建MapReduce作业。