求分布式计算开源框架 推荐
我目前正在做一个项目需要用到分布式计算的技术,大概想法是一个主客户端将它的计算分散到局域网内各个计算机(比如一些离散点的信息计算),有什么好的开源的框架可以用吗?最好是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>());
}