python 流式计算框架_流式计算的三种框架:Storm、Spark和Flink

我们知道,大数据的计算模式主要分为批量计算(batch computing)、流式计算(stream computing)、交互计算(interactive computing)、图计算(graph computing)等。其中,流式计算和批量计算是两种主要的大数据计算模式,分别适用于不同的大数据应用场景。

目前主流的流式计算框架有Storm、Spark Streaming、Flink三种,其基本原理如下:

Apache Storm

在Storm中,需要先设计一个实时计算结构,我们称之为拓扑(topology)。之后,这个拓扑结构会被提交给集群,其中主节点(master node)负责给工作节点(worker node)分配代码,工作节点负责执行代码。在一个拓扑结构中,包含spout和bolt两种角色。数据在spouts之间传递,这些spouts将数据流以tuple元组的形式发送;而bolt则负责转换数据流。

Apache Spark

Spark Streaming,即核心Spark API的扩展,不像Storm那样一次处理一个数据流。相反,它在处理数据流之前,会按照时间间隔对数据流进行分段切分。Spark针对连续数据流的抽象,我们称为DStream(Discretized Stream)。 DStream是小批处理的RDD(弹性分布式数据集), RDD则是分布式数据集,可以通过任意函数和滑动数据窗口(窗口计算)进行转换,实现并行操作。

Apache Flink

针对流数据+批数据的计算框架。把批数据看作流数据的一种特例,延迟性较低(毫秒级),且能够保证消息传输不丢失不重复。

Flink创造性地统一了流处理和批处理,作为流处理看待时输入数据流是无界的,而批处理被作为一种特殊的流处理,只是它的输入数据流被定义为有界的。Flink程序由Stream和Transformation这两个基本构建块组成,其中Stream是一个中间结果数据,而Transformation是一个操作,它对一个或多个输入Stream进行计算处理,输出一个或多个结果Stream。

这三种计算框架的对比如下:

参考文章:

相关阅读:

推荐系统相关术语知多少

如欲了解更多,欢迎搜索并关注先荐小助手微信号(recsysfc)。

本账号为第四范式智能推荐产品先荐的官方账号。账号立足于计算机领域,特别是人工智能相关的前沿研究,旨在把更多与人工智能相关的知识分享给公众,从专业的角度促进公众对人工智能的理解;同时也希望为人工智能相关人员提供一个讨论、交流、学习的开放平台,从而早日让每个人都享受到人工智能创造的价值。先荐_智能推荐系统_个性化推荐专家​www.tuijianxitong.cn

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SparkFlinkStorm 都是处理引擎,但它们在实现方式、性能、扩展性、功能和社区支持等方面有所不同。以下是 SparkFlinkStorm 的优缺点: 1. Spark 优点: - Spark 具有广泛的社区支持和生态系统,可以与多种数据存储和处理工具(如 Hadoop、Cassandra、Kafka 等)集成。 - Spark 具有高速的内存计算引擎,能够处理大规模的数据,并且具有高度可扩展性。 - Spark 支持多种语言(如 Java、Scala、Python 和 R),因此易于使用和学习。 缺点: - Spark 对于低延迟的数据处理可能不够适合,因为它的批处理延迟可能较高。 - 在一些特定场景下,Spark 的内存管理可能会导致内存不足的问题。 2. Flink 优点: - Flink 具有低延迟的处理能力,可以实现实时处理和批处理的混合模式。 - Flink 具有高度可扩展性,可以在大规模集群上运行。 - Flink 支持多种语言,包括 Java、Scala 和 Python。 缺点: - Flink 社区相对较小,生态系统相对不完善。 - Flink 的部署和配置较为复杂,需要一定的技术水平。 3. Storm 优点: - Storm 具有广泛的社区支持和生态系统,可以与多种数据存储和处理工具集成。 - Storm 具有极低的延迟,适合处理低延迟的数据。 - Storm 具有高度可扩展性,可以在大规模集群上运行。 缺点: - Storm 对于一些高级功能(如窗口操作和状态管理)的支持相对较弱。 - Storm 的编程模型较为复杂,需要一定的学习成本。 总之,SparkFlinkStorm 都有各自的优缺点,选择哪种处理引擎需要根据具体的场景和需求来选择。如果需要处理大规模数据并且需要与多种数据存储和处理工具集成,可以选择 Spark;如果需要低延迟的处理能力,可以选择 Flink;如果需要极低的延迟并且需要与多种数据存储和处理工具集成,可以选择 Storm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值