Hadoop - CPU密集型应用程序 - 小数据

时间:2014-07-17 08:44:36

标签: performance hadoop cpu

Hadoop 对于CPU密集型且需要处理大约500 MB的小文件的作业是否合适?我已经读过 Hadoop 旨在处理所谓的大数据,我想知道它是如何用少量数据执行的(但CPU密集型工作负载)。< / p>

我想知道是否存在针对此场景的更好方法,或者我应该坚持 Hadoop

3 个答案:

答案 0 :(得分:1)

Hadoop是一个提出MapReduce引擎的分布式计算框架。如果您可以使用此范例(或Hadoop模块支持的任何其他模式)表达可并行化的cpu密集型应用程序,则可以利用Hadoop。 Hadoop计算的一个典型例子是Pi的计算,它不需要任何输入数据。正如您将看到的here,由于Hadoop,雅虎设法确定了pi的两个四位数。

但是,Hadoop确实专门用于大数据,因为它是为此目的而开发的。例如,您处置了一个旨在包含大文件的文件系统。这些巨大的文件被分成大量节点中的许多块。为了确保您的数据完整性,必须将每个块复制到其他节点。

总而言之,我要说如果您已经处置了Hadoop集群,那么您可能希望利用它。 如果不是这样,虽然我不能推荐任何东西,因为我不知道你的需求究竟是什么,我认为你可以找到比Hadoop更多的轻量级框架。

答案 1 :(得分:1)

很多公司都转向Spark,我个人认为这是并行处理的未来。

听起来你想要做的就是在很多节点上使用很多CPU。为此,您应该使用专为此问题设计的可扩展语言 - 换句话说就是Scala。使用Scala和Spark比hadoop更容易,也更快。

如果您无法访问群集,那么无论如何都可以使用Spark,这样您以后就可以更轻松地使用它。或者只是在Scala中使用.par,这将使您的代码并行化,并使用本地计算机上的所有CPU。

最后Hadoop确实用于大数据,而Spark实际上只是一个非常通用的MPP框架。

答案 2 :(得分:0)

您完全具备我们为数据规范化所做的计算问题。这需要在便宜的硬件和软件上并行处理,易于使用,而不是通过传统并行处理的所有特殊编程。 Hadoop诞生于大规模分布式数据复制,计算相对简单。实际上,测试应用程序仍在分发,WordCount,简直是过于简单化。这是因为Hadoop的起源确实处理了大量的数据和并发处理搜索,之后添加了“大数据”分析运动,试图找到更通用的业务用例。因此,Hadoop以其常见形式描述并不针对您和我们拥有的用例。但是,Hadoop确实提供了具有自定义和复杂编程逻辑的“小数据”的廉价,简单,快速并行处理的关键功能。

事实上,我们已经调整了Hadoop来做到这一点。我们有一个特殊的构建硬件环境PSIKLOPS,它对于小型集群(1-10)节点非常强大,具有足够的功率和低成本,可运行4-20个并行作业。我们将在Inside Analysis的一系列网络演员中展示这一内容,名为Tech Lab,与2014年8月初推出的第一个系列Cloudera一起展示。我们认为这种能力是像你这样的人的关键推动者。 PSIKLOPS不需要以我们展示的方式使用Hadoop,但它被配置为最大化易用性以启动多个自定义Java的并发容器。

相关问题