我想同时运行 1000 多个不同版本的同一算法(不同的参数),Hadoop 是否能够在这种情况下提高性能?我目前对 Hadoop 一无所知,所以这个问题可能看起来很愚蠢。我只是想知道 Hadoop 是否可以对此做点什么,我不需要知道如何去做。
问问题
1182 次
3 回答
0
您以错误的方式考虑 Hadoop。使用 Hadoop 的优势和优势在于它允许对“数据密集型”任务进行分布式计算。这意味着当您对大量数据(甚至数 TB 到数 PB)进行相对较小/简单的处理时,它会表现出色。
因此,当您考虑 Hadoop 时,问题是“我有大量数据吗?” 如果是,那么它可能对您有用。看起来您的答案是否定的,并且您想将其用于并发处理。在这种情况下,这不是你要走的路。
于 2012-10-26T12:23:22.393 回答
0
不,它不能。仅仅是因为它不关心同时运行的是什么类型的作业。您将看到一些性能改进,因为操作系统会尝试缓存您的输入。但一般框架不会优化这种情况。
Hadoop 不是为这些类型的工作而构建的,我非常怀疑您能否使用 Hadoop 获得良好的性能。
于 2012-10-26T11:45:16.543 回答
0
你可以用hadoop做到这一点。你只会从它的部分功能中获利——分布式任务调度,而不会从其余部分中获利。
从技术上讲,我建议采用以下方式:a)使每组参数成为单个输入拆分。b) 使每个映射器从输入中读取参数并直接从HDFS(或从分布式缓存中)读取数据。
你会得到什么——在集群上分配我们的负载,重新启动失败的任务。
于 2012-10-26T20:02:07.177 回答