前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >流式计算引擎-Storm、Spark Streaming

流式计算引擎-Storm、Spark Streaming

作者头像
凹谷
发布2020-04-11 10:49:30
2.3K0
发布2020-04-11 10:49:30
举报

目前常用的流式实时计算引擎分为两类:面向行和面向微批处理,其中面向行的流式实时计算引擎的代表是Apache Storm,典型特点是延迟低,但吞吐率也低。而面向微批处理的流式实时计算引擎代表是Spark Streaming,其典型特点是延迟高,但吞吐率也高。

主流的流式数据线分四个阶段:

1、数据采集:负责从不同数据源上实时采集数据,可选包括Flume以及自定义Kafka Producer

2、数据缓冲:为了平衡数据采集速率与数据处理速率不对等。eg:Kafka

3、实时分析:流式地从数据缓冲区获取数据,并快速完成数据处理。比如:Storm和Spark Streaming

4、结果存储:将计算结果存储到外部系统,比如:大量可实时查询的系统,可存储Hbase中,小量但需要可高并发查询系统,可存储Redis。

Storm:

基本概念:

1、Tuple:由一组可序列化的元素构成。

2、Stream:无限个Tuple组成一个Stream

3、Topology:类似与MapReduce的job,由一系列Spout和Blot构成的DAG

4、Spout:Stream的数据源

5、Bolt:消息处理逻辑

基本架构:

1、Nimbus:集群的管理和调度组件

2、Supervisor:计算组件

3、Zookeeper:Nimbus和Supervisor之前的协调组件。

Spark Streaming:

基本概念:核心思想是把流式处理转化为“微批处理”,即以时间为单位切分数据流,每个切片内的数据对应一个RDD,进而采用Spark引擎进行快速计算。正是由于Spark Streaming采用了微批处理方式,因此只能将其作为近实时处理系统,而不是严格意义上的实时流式处理。

Spark Streaming 对流式数据做了进一步抽象,它将流式数据批处理化,每一批数据被抽象成RDD,这样流式数据变成了流式的RDD序列,这便是Dstream,Spark Streaming 在Dstream上定义了一系列操作,主要分两类:transformation和output,其中一个transformation操作能够将一个Dstream变换成另一个Dstream,而output操作可产生一个或一组结果,并将输出到指定外部系统中。

Spark几个组件的抽象及操作对比:

1、Spark Code 数据抽象RDD 数据操作transformation&action

2、Spark SQL 数据抽象:DataFrame、DataSet,操作:transformation&action

3、Spark Streaming:数据抽象:Dstream,操作:transformation&action

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据与微服务架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
流计算 Oceanus
流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的企业级实时大数据分析平台,具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档