Hadoop map-reduce及其通常用于批处理的回声系统(例如Hive ..)。但是我想知道我们可以使用hadoop MapReduce进行实时数据处理示例的任何方式,例如实时结果,实时推文。
如果不是,实时数据处理或分析的替代方案是什么?
答案 0 :(得分:1)
带有Map-Reduce的实时应用 让我们尝试使用Hadoop实施实时应用。要了解这种情况,请考虑使用温度传感器。假设传感器继续工作,我们将继续获取新的读数。因此数据永远不会停止。
我们不应该等待数据完成,因为它永远不会发生。然后,也许我们应该继续定期进行分析(例如每小时一次)。我们可以每小时运行一次Spark,并获取最后一小时的数据。
如果我们需要每小时进行最后24小时分析怎么办?我们是否应该每小时重新处理最近24小时的数据?也许我们可以计算小时数据,将其存储起来,然后使用它们来计算24小时数据。它将起作用,但是我必须编写代码来完成它。
我们的问题才刚刚开始。让我们迭代一些使我们的问题复杂化的要求。
流处理 解决此类问题的正确工具称为“流处理”。这里的“流”是指数据流。数据序列将继续出现。 “流处理”可以监视数据的传入,处理以及在几毫秒内对其做出响应。
以下是我们希望超越批处理(Hadoop / Spark),我们的舒适范围并考虑流处理的原因。
答案 1 :(得分:0)
在HDP 3.1中,引入了Hive-Kafka集成以处理实时数据。有关更多信息,请参阅文档:documentation
您可以Apache Hive-Kafka Integration处理事件数据的OLAP查询,并且可以将Hive和Kafka与Druid一起使用。
答案 2 :(得分:0)
在处理大量数据并对其进行批处理的情况下,Hadoop / Spark会发光,但是当您的用例围绕实时分析需求发展时,则 Kafka Steams 和 druid 是考虑的好选择。
这里是了解类似用例的良好参考链接: https://www.youtube.com/watch?v=3NEQV5mjKfY
Hortonworks还提供了HDF堆栈(https://hortonworks.com/products/data-platforms/hdf/),它最适合与动态数据相关的用例。
Kafka和Druid文档是了解这两种技术的强项的好地方。这是他们的文档链接:
Kafka:https://kafka.apache.org/documentation/streams/
德鲁伊:http://druid.io/docs/latest/design/index.html#when-to-use-druid