当我想与1000多组不同参数同时运行相同的算法时,Hadoop可以做什么?

时间:2012-10-26 10:27:06

标签: concurrency hadoop

我想同时运行1000多个不同版本的相同算法(不同的参数),Hadoop是否能够在这种情况下提升性能? 我目前不了解Hadoop,所以问题可能显得愚蠢。 我只是想知道Hadoop是否可以对此做些什么,我不需要知道如何去做。

3 个答案:

答案 0 :(得分:0)

不,不能。仅仅因为它不关心什么类型的乔装同时运行。您将看到一些性能改进,因为操作系统会尝试缓存您的输入。但一般来说,框架不会优化这种情况。

Hadoop不是为这些工作而构建的,我非常怀疑你会在Hadoop上取得好成绩。

答案 1 :(得分:0)

你正在以错误的方式思考Hadoop。使用Hadoop的优势和优势在于它允许在“数据密集型”任务上进行分布式计算。这意味着当你对大量数据(甚至几兆字节甚至几千兆字节)进行相对较小/简单的处理时,它就擅长了。

因此,当您考虑使用Hadoop时,问题是“我有大量数据吗?”如果是,那么它可能适合你。看起来你的答案是否定的,你想用它来进行并发处理。在这种情况下,它不适合你。

答案 2 :(得分:0)

你可以用hadoop做到这一点。您只能从其功能的一部分中获益 - 分布式任务调度,并且不会从其他任务中获利。

从技术上讲,我建议采用以下方式: a)使每组参数成为单个输入分割。 b)使每个映射器从输入读取参数并直接从HDFS读取数据(或从分布式缓存中读取)。

您将得到什么 - 在群集上分配我们的负载,重启失败的任务。