"streaming" Apache Spark和Apache Flink是什么意思?



当我访问Apache Spark流媒体网站时,我看到一句话:

Spark Streaming使构建可扩展的容错流应用程序变得容易。

在Apache Flink网站上,有一句话:

ApacheFlink是一个用于可扩展的批处理和流数据处理的开源平台。

什么是streaming applicationbatch data processingstream data processing?你能举一些具体的例子吗?它们是为传感器数据而设计的吗?

流式数据分析(与"批处理"数据分析相反)是指对典型的无限数据项流(通常称为事件)进行连续分析。

流媒体应用程序的特点

流数据处理应用程序通常具有以下特点:

  • 流式应用程序在很长一段时间内连续运行,并在事件出现时立即消耗和处理事件。相反批处理应用程序在文件或数据库中收集数据,然后进行处理。

  • 流应用程序经常关心结果的延迟。延迟是从创建事件到分析应用程序考虑该事件之间的延迟。

  • 因为流是无限的,所以许多计算不能不是指整个流,而是指流上的"窗口"。窗口是流事件的子序列(例如最后5分钟)的视图。真实世界窗口统计的一个例子是"过去3天的平均股价"

  • 在流应用程序中,事件发生的时间通常起着特殊的作用。根据事件的时间顺序来解释事件是非常常见的。虽然某些批处理应用程序也可以做到这一点,但这并不是一个核心概念。

流媒体应用程序示例

流数据处理应用程序的典型示例是

  • 欺诈检测:应用程序试图弄清楚交易是否符合以前观察到的行为。如果没有,则该事务可能表明有人试图滥用。通常非常延迟关键的应用程序。

  • 异常检测:流应用程序为其观察到的事件建立一个统计模型。异常值表示异常并可能触发警报。传感器数据可能是想要分析异常的事件的一个来源。

  • 在线推荐者:如果访问网店的用户没有很多过去的行为信息,那么在她浏览页面和浏览文章时,从她的行为中学习,并开始直接生成一些初始推荐,这是很有趣的。

  • 最新的数据仓库:关于如何将数据仓库基础设施建模为流式应用程序,有一些有趣的文章,其中事件流是对数据库的一系列更改,流式应用将各种仓库计算为事件流的专用"聚合视图"。

  • 还有更多。。。

相关内容

  • 没有找到相关文章

最新更新