千家信息网

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

发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,我们知道,大数据的计算模式主要分为批量计算(batch computing)、流式计算(stream computing)、交互计算(interactive computing)、图计算(graph
千家信息网最后更新 2024年12月13日流式计算的三种框架: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。

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


参考文章:

Streaming Big Data: Storm, Spark and Samza

数据 数据流 处理 框架 拓扑 结构 节点 输入 代码 分布式 多个 模式 结果 工作 不同 特殊 两个 主流 之间 函数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 财务软件服务器怎么关闭 联想服务器系统安装密码 大唐棋牌软件开发 世纪中扬网络技术有限公司 网络安全的利弊 幻塔如何查看之前的服务器 软件开发辉哥 安卓软件开发打补丁 防止网络安全心得体会 产品经理需要开发数据库结构吗 我的世界一句话把一个服务器崩掉 金税系统网络安全 安康服务器台式机分销 全国医疗机构查询全国医院数据库 甘孜网络技术操作 西城区品牌软件开发程序 重庆璧山水果软件开发 数据库客户端现在都用哪款 土豆web服务器供电 浪潮服务器异常关机处理 驰创时创软件开发有限公司 情咖网络技术有限公司 vb6向sql数据库写入数据 服务器远程安全管理方法 手机 管理云服务器软件 计算机网络技术能报一建不 绝地求生端游买什么服务器 网络技术应用主要学什么 数据库系统工程师第四版共多少页 台湾服务器主板云空间
0