gpt4 book ai didi

hadoop - 我们可以使用Hadoop MapReduce进行实时数据处理吗?

转载 作者:可可西里 更新时间:2023-11-01 16:35:34 26 4
gpt4 key购买 nike

Hadoop map-reduce及其回声系统(例如Hive ..)我们通常用于批处理。但是我想知道有什么方法可以使用hadoop MapReduce进行实时数据处理示例,例如实时结果,实时推文。

如果不是,实时数据处理或分析的替代方法是什么?

最佳答案

带有Map-Reduce的实时应用程序
让我们尝试使用Hadoop实现实时应用。要了解这种情况,请考虑使用温度传感器。假设传感器继续工作,我们将继续获取新的读数。因此数据永远不会停止。

我们不应该等待数据完成,因为它永远不会发生。然后,也许我们应该继续定期(例如每小时)进行分析。我们可以每小时运行一次Spark,并获取最后一小时的数据。

如果需要每小时进行最后24小时分析怎么办?我们是否应该每小时重新处理最近24小时的数据?也许我们可以计算小时数据,将其存储起来,然后使用它们来计算24小时数据。它将起作用,但是我必须编写代码才能做到这一点。

我们的问题才刚刚开始。让我们迭代一些使我们的问题复杂化的要求。

  • 如果将温度传感器放置在核电站内并且
    我们的代码会创建警报。一小时后创建警报
    可能不是处理它的最佳方法。我们能否在1内收到警报
    第二?
  • 如果要在小时边界处计算读数,该怎么办
    数据需要几秒钟才能到达存储。现在你不能
    在您的边界开始工作,您需要观察磁盘并
    当数据到达小时边界时,触发作业。
  • 好,您可以快速运行Hadoop。作业会在1秒内完成吗?
    我们可以将数据写入磁盘,读取数据,对其进行处理以及
    产生结果,并与其他23小时的数据结合在一起
    第二?现在事情开始变得紧张起来。
  • 开始感到摩擦的原因是因为您不
    为作业使用正确的工具。您正在使用一字 Screwdriver
    当您有六角 Spanner 时。

  • 流处理
    解决此类问题的正确工具称为“流处理”。这里的“流”是指数据流。数据序列将继续出现。 “流处理”可以监视数据的传入,处理和响应时间(以毫秒为单位)。

    以下是我们想要超越批处理(Hadoop / Spark),舒适区域并考虑流处理的原因。
  • 一些数据自然会以无休止的事件流的形式出现。去做
    批处理,您需要将其存储,有时会切断
    处理数据。那你得做下一批再担心
    关于跨多个批次进行汇总。相反,流式传输
    优雅自然地处理永无止境的数据流。您可以
    有条件的话,要注意多个层次的关注(将对此进行讨论
    当我们进入Windows时),还可以轻松查看来自多个
    同时流。
  • 通过流式传输,您可以更快地响应事件。你可以生产
    收到事件(更新)的毫秒数内的结果。用
    批处理通常需要几分钟。
  • 流处理自然适合时间序列数据并进行检测
    随时间变化的模式。例如,如果您尝试检测
    网络 session 在永无止境的流中的长度(这是一个示例
    尝试检测序列),很难做到这一点
    某些 session 将分为两批。流处理
    可以轻松解决这个问题。如果您退后一步考虑,
    最连续的数据序列是时间序列数据。例如,几乎
    所有物联网数据都是时间序列数据。因此,使用
    很自然的编程模型。
  • Batch可建立数据并尝试同时处理它们
    流进来时处理数据,从而分散处理
    随着时间的推移。因此,流处理可以使用更少的硬件
    比批处理。
  • 有时数据量巨大,甚至无法存储。
    流处理可让您处理大型火马风格的数据并
    只保留有用的位。
  • 最后,有很多可用的流数据(例如,客户
    交易, Activity ,网站访问),它们的增长速度会更快
    物联网用例(各种传感器)。流媒体要多得多
    考虑和编程这些用例的自然模型。
  • 关于hadoop - 我们可以使用Hadoop MapReduce进行实时数据处理吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53833704/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com