Apache Spark和Apache Flink中的“流媒体”意味着什么?

时间:2015-06-30 10:13:02

标签: apache-spark spark-streaming apache-flink

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

  

Spark Streaming可以轻松构建可扩展的容错流应用程序。

Apache Flink网站上,有一句话:

  

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

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

1 个答案:

答案 0 :(得分:10)

流式数据分析(与#34;批次"数据分析相比)是指对无限数据项流的连续分析(通常叫做事件)。

流媒体应用的特征

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

  • 流式应用程序会持续运行很长时间,并在事件出现时立即使用和处理事件。相反。批处理应用程序在文件或数据库中收集数据并在以后处理它。

  • 流式应用程序经常关注结果的延迟。延迟是事件创建与分析应用程序将该事件考虑在内的时间之间的延迟。

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

  • 在流媒体应用程序中,事件的时间通常起着特殊的作用。及时解释有关其订单的事件非常常见。虽然某些批处理应用程序也可以这样做,但它不是核心概念。

流媒体应用程序的示例

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

  • 欺诈检测:应用程序尝试确定事务是否符合之前观察到的行为。如果没有,则交易可以指示未遂的尝试。通常是非常等待延迟的应用程序。

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

  • 在线推荐人:如果访问网上商店的用户没有很多过去的行为信息,那么在她浏览网页并浏览文章并开始生成一些内容时,从她的行为中学习是很有趣的。最初的建议。

  • 最新的数据仓库:有关如何将数据仓库基础架构建模为流应用程序的有趣文章,其中事件流是对数据库的更改序列,流应用程序计算各种仓库作为专门的"聚合观点"事件流。

  • 还有更多......