【问题标题】:why Hadoop is not a real-time platform为什么Hadoop不是一个实时平台
【发布时间】:2013-10-28 05:36:36
【问题描述】:

我刚开始学习 Hadoop,浏览了一些网站,我经常发现

“Hadoop 不是实时平台” 即使在 SO 中也是如此

我对此感到困惑,我真的无法理解。有谁能帮我解释一下吗?

谢谢大家

【问题讨论】:

    标签: hadoop real-time


    【解决方案1】:

    Hadoop 最初是为批处理而设计的。这意味着,一次在输入中获取一个大型数据集,对其进行处理,然后编写一个大型输出。 MapReduce 的概念是面向批处理而非实时的。但老实说,这只是 Hadoop 开始时的情况,现在您有很多机会以更实时的方式使用 Hadoop。

    首先,我认为定义实时的含义很重要。可能是您对流处理感兴趣,也可能是您希望对数据运行查询以实时返回结果。

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

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

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

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

    可能还有其他项目适合“使 Hadoop 实时”列表,但这些是最知名的。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多