2013-10-28 24 views
7

我刚开始学习Hadoop和通过一些网站已经过去了,我常常发现,为什么Hadoop是不是一个实时平台

“Hadoop是不是一个实时平台”即使在SO也

我混淆了这一点,我真的不能理解它。任何人都可以帮我解释一下吗?

谢谢全部

回答

20

Hadoop最初设计用于批处理。这意味着,一次输入一个大数据集,处理它,然后写出一个大输出。 MapReduce的概念是针对批处理而非实时的。但说实话,这只是Hadoop开始时的情况,现在您有更多的机会以更实时的方式使用Hadoop。

首先,我认为定义您的实时意义非常重要。这可能是因为您对流处理感兴趣,或者您可能希望对数据运行查询以实时返回结果。

有关Hadoop的流处理,本地的Hadoop不会为你提供这样的功能,但你可以使用Hadoop轻松一些其他项目整合:

  • Storm-YARN允许您在Hadoop集群上使用风暴通过YARN。
  • Spark与HDFS集成,允许您实时处理流数据。

对于实时查询也有其使用Hadoop的几个项目:

  • Impala从Cloudera的使用HDFS但完全绕过MapReduce的,因为有太多的开销,否则。
  • Apache Drill是另一个与Hadoop集成以提供实时查询功能的项目。
  • Stinger项目旨在使Hive更加实时。

可能还有其他项目可以纳入“实时制作Hadoop”列表,但这些项目最为人熟知。如你所见,Hadoop越来越朝着实时的方向发展,即使它不是为此设计的,你也有很多机会将它扩展到实时目的。

+0

+1它有一定的意义 – Backtrack

相关问题