将普通java程序转换为mapreduce



我想写一个Java包装器,它将把'兼容程序'转换成map reduce形式,由Hadoop框架执行。我知道我的问题很模棱两可。但这正是我想要做的。

    输入一个java程序。用户将指定的部分程序将由mapreduce执行。
  • 这个java程序将是由我的程序输入,它将提供等价的map reduce

我有几点卡住了。

  • 每个类别的Map reduce程序将不同。我该怎么走?概括一下?
  • 我应该从这里开始。
  • 我应该如何解决这个问题?

欢迎提出任何建议。它将帮助我决定下一步的方向。

一般来说是不可能的,不是所有的程序都支持MapReduce范式。MapReduce是一个框架,有些任务可以用它来完成,有些则不能。你可以问自己最好的问题来确定哪种算法可以从map减少使用中获益。

  1. 是否存在可并行评估的部分
  2. 它们必须按某些键进行汇总吗
  3. 每个分割之间需要共享多少数据。
  4. 可以用步骤1到步骤3的序列/循环来解决问题吗?

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

相关内容

  • 没有找到相关文章