谁能告诉我一个简单的开源 Map/Reduce 框架/Java API?似乎没有太多证据表明存在这样的事情,但其他人可能知道不同.
Can anyone point me at a simple, open-source Map/Reduce framework/API for Java? There doesn't seem to much evidence of such a thing existing, but someone else might know different.
我能找到的最好的当然是 Hadoop MapReduce,但这不符合简单"标准.我不需要运行分布式作业的能力,只需要让我在多核机器上运行 map/reduce 风格的作业,在单个 JVM 中,使用标准的 Java5 风格并发.
The best I can find is, of course, Hadoop MapReduce, but that fails the "simple" criteria. I don't need the ability to run distributed jobs, just something to let me run map/reduce-style jobs on a multi-core machine, in a single JVM, using standard Java5-style concurrency.
自己写并不难,但我宁愿不用.
It's not a hard thing to write oneself, but I'd rather not have to.
我认为值得一提的是,这些问题是 Java 8 的历史.举个例子:
I think it is worth mentioning that these problems are history as of Java 8. An example:
int heaviestBlueBlock =
blocks.filter(b -> b.getColor() == BLUE)
.map(Block::getWeight)
.reduce(0, Integer::max);
换句话说:单节点 MapReduce 在 Java 8 中可用.
有关详细信息,请参阅 Brian Goetz 的关于项目 lambda 的介绍
For more details, see Brian Goetz's presentation about project lambda
这篇关于简单的 Java Map/Reduce 框架的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!