为什么Hadoop不是一个实时平台

bac*_*ack 9 hadoop real-time

我刚刚开始学习Hadoop并经历了一些网站,我经常发现它

"即使在SO中,Hadoop也不是一个实时平台"

我搞砸了这个,我真的无法理解它.任何人都可以帮助我解释一下这个吗?

谢谢大家

Cha*_*guy 23

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

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

对于Hadoop上的流处理,原生Hadoop不会为您提供此类功能,但您可以轻松地将其他一些项目与Hadoop集成:

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

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

  • 来自Cloudera的Impala使用HDFS但完全绕过了MapReduce,因为否则会有太多的开销.
  • Apache Drill是另一个与Hadoop集成的项目,可提供实时查询功能.
  • 毒刺项目旨在使蜂巢本身更实时.

可能还有其他项目可以放入"实时制作Hadoop"列表中,但这些是最知名的.

正如您所看到的,Hadoop越来越朝着实时方向发展,即使它不是为此而设计的,您也有很多机会将其扩展为实时目的.