hadoop批处理分析和hadoop实时分析有什么区别

ulydmbyx  于 2021-05-29  发布在  Hadoop
关注(0)|答案(4)|浏览(402)

我想知道hadoop批处理分析和hadoop实时分析的区别。
例如 Hadoop real time analytics 可以使用 Apache SparkHadoop batch analytics 可以使用 Map reduce 编程。
此外,如果实时分析是更首选的,那么什么是批分析所需的?
谢谢

kulphzqa

kulphzqa1#

hadoop batch analytics和real-time analytics都是完全不同的,这取决于你的用例你想要什么,例如-你有大量的行数据集,你只想从数据集中提取很少的信息,信息可能基于一些计算/趋势分析等,而不是通过批量处理,如寻找过去50年以来的最低温度。
而实时分析则意味着你需要尽快得到预期的结果,就像你的朋友在twitter上发tweet一样,你的朋友一发tweet你就得到了tweet。

b09cbbtk

b09cbbtk2#

让我解释一下批处理和实际处理的用例。
批处理:
在股票市场应用中,您需要每天提供以下汇总数据
对于每只股票,购买订单的总数和所有购买订单的总和
对于每只股票,销售订单的总数和所有销售订单的总和
对于每个库存,成功订单和失败订单的总数
等。
这里需要24小时的股市数据来生成这些报告。

天气应用:

为所有国家保存世界各地的天气报告。对于一个特定的地方如纽约或国家如美国,找到自1900年以来最热和最冷的一天。这个查询需要大量的输入数据集,需要成千上万的noudes处理。
你可以用 Hadoop Map Reduce job 提供上述总结。您可能需要处理peta字节的数据,这些数据存储在hadoop集群中的4000多个服务器中。
实时分析:
另一个用例是,你登录了社交网站facebook或twitter。你的朋友在你的墙上发了条消息,或者在twitter上发了条tweet。你必须实时收到这些通知。
当您访问booking.com等网站预订酒店时,您将收到实时通知,如x个用户正在查看此酒店等。这些通知是实时生成的。
在上述用例中,系统应该处理数据流并生成实时通知给用户,而不是等待一天的数据。spark流提供了极好的支持来处理这些类型的场景。
spark使用内存处理来加快查询执行速度,但不可能总是使用内存处理PB字节的数据。spark可以处理数兆字节的数据,hadoop可以处理数兆字节的数据。

bxfogqkk

bxfogqkk3#

批量数据处理是处理大量数据的一种有效方法,即在一段时间内收集一组事务。收集、输入、处理数据,然后生成批处理结果(hadoop专注于批处理数据处理)。批处理需要输入、处理和输出的独立程序。工资单和帐单系统就是一个例子。
相反,实时数据处理涉及到数据的连续输入、处理和输出。必须在短时间内(或接近实时)处理数据。雷达系统、客户服务和银行自动取款机就是例子。

6tr1vspr

6tr1vspr4#

批处理意味着您处理迄今为止收集的所有数据。实时意味着您在数据进入系统时对其进行处理。两者都不是“首选”。

相关问题