首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求分布式计算开源框架 推荐,该如何处理

2013-07-04 
求分布式计算开源框架 推荐我目前正在做一个项目需要用到分布式计算的技术,大概想法是一个主客户端将它的

求分布式计算开源框架 推荐
我目前正在做一个项目需要用到分布式计算的技术,大概想法是一个主客户端将它的计算分散到局域网内各个计算机(比如一些离散点的信息计算),有什么好的开源的框架可以用吗?最好是C++的框架!
平台:linux下;

目前在网上搜索最多的开源基本上都是用hadoop的。请问c++方面有没有比较不错的开源框架?

谢谢!
[解决办法]
捧场来的,谢谢
[解决办法]
hadoop可以通过pipe接口支持C++程序啊
[解决办法]
顶,顶 !
[解决办法]
:-)hadoop可以使用c++

下面是c++写的wordcount的map reduce


http://wiki.apache.org/hadoop/C%2B%2BWordCount

#include "hadoop/Pipes.hh"
#include "hadoop/TemplateFactory.hh"
#include "hadoop/StringUtils.hh"

class WordCountMap: public HadoopPipes::Mapper {
public:
  WordCountMap(HadoopPipes::TaskContext& context){}
  void map(HadoopPipes::MapContext& context) {
    std::vector<std::string> words =
      HadoopUtils::splitString(context.getInputValue(), " ");
    for(unsigned int i=0; i < words.size(); ++i) {
      context.emit(words[i], "1");
    }
  }
};

class WordCountReduce: public HadoopPipes::Reducer {
public:
  WordCountReduce(HadoopPipes::TaskContext& context){}
  void reduce(HadoopPipes::ReduceContext& context) {
    int sum = 0;
    while (context.nextValue()) {
      sum += HadoopUtils::toInt(context.getInputValue());
    }
    context.emit(context.getInputKey(), HadoopUtils::toString(sum));
  }
};

int main(int argc, char *argv[]) {
  return HadoopPipes::runTask(HadoopPipes::TemplateFactory<WordCountMap,
                              WordCountReduce>());


}


[解决办法]
学习来的

热点排行