我刚刚开始学习Hadoop并经历了一些网站,我经常发现
“Hadoop不是实时平台”即使在SO中也
我搞砸了这个,我真的无法理解它。任何人都可以帮助我解释一下这个吗?
全部谢谢
答案 0 :(得分:23)
Hadoop最初设计用于批处理。这意味着,一次输入一个大数据集,处理它,并写一个大输出。 MapReduce的概念是针对批处理而不是实时的。但说实话,这只是Hadoop开始时的情况,现在你有很多机会以更实时的方式使用Hadoop。
首先,我认为通过实时定义您的意思非常重要。可能是您对流处理感兴趣,或者您可能希望对数据运行实时返回结果的查询。
对于Hadoop上的流处理,原生Hadoop不会为您提供此类功能,但您可以轻松地将其他一些项目与Hadoop集成:
对于实时查询,还有一些使用Hadoop的项目:
可能还有其他项目可以放入“实时制作Hadoop”列表中,但这些项目是最知名的。
正如您所看到的,Hadoop越来越朝着实时方向发展,即使它不是为此而设计的,您也有很多机会将其扩展到实时目的。