- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
流式计算技术及应用研究报告
学校代码: 作者姓名: 学 号: 第一导师: 第二导师: 学科专业:
10248
叶稳定
115372050
软件工程
上海交通大学软件学院
2016年5月
目录
TOC \o 1-5 \h \z HYPERLINK \l bookmark4 \o Current Document 1流式计算技术综述 2
1.1流式计算技术概述 2
1.2流式计算框架Storm的架构分析 3
1.3流式计算框架Spark Streaming的架构分析 4
1.3 Storm 与 Spark Streami ng 的架构对比 6
HYPERLINK \l bookmark6 \o Current Document 2 流式计算技术在实际项目中的应用 6
2. 1基于流式计算框架Spark Streaming的数据实时处理应用的系统架构 6
2. 2基于复杂事件处理CEP框架的数据实时处理应用的系统架构 7
2. 3基于其他流式计算框架的数据实时处理应用的系统架构 7
HYPERLINK \l bookmark10 \o Current Document 参考文献 9
1流式计算技术综述
1.1流式计算技术概述
流数据处理应用要求我们的系统可以接受大量的,不间断的数据称为流式数据。
流数据处理
流式计算中,无法确定数据的到来时刻和到来顺序,也无法全部数据存储起来. 因此,不再 进行流式数据的存储,而是当流动的数据到来后在内存中直接进行数据 的实时计算?如Twitter的Storm、Yahoo的S4[6]就是典型的流式数据计算架 构,数据在任务拓扑中被计算,并输岀有价值的信息.对于无需先存储,可以直接进 行数据计算,实时性要求很严格,但数据的精确度要求稍微宽松的应用场景,流式 计算具有明显优势.流式计算中,数据往往是最近一个时间窗口内的,因此数据延 迟往往较短,实时性较强。
1.2流式计算框架Storm的架构分析
Apache Storm[5],在Storm中,先要设十^一个用于实时计算的图状结构,我 们称之为拓扑(topology)。这个拓扑将会被提交给集群,由集群中的主控节点
(master node) [5]分发代码,将任务分配给工作节点(worker node)执行。一 个拓扑中包括spout和bolt两种角色,其中spout发送消息,负责将数据流以tuple 元组的形式发送出去;而bolt则负责转换这些数据流,在bolt中可以完成讣算、 过滤筹操作,bolt自身也可以随机将数据发送给其他bolt。由spout发射出的tuple 是不可变数组,对应着固定的键值对。
NimbusZooKe?pe … ZooKxpecSupWSOrSup?W5worker? ? ?
Nimbus
ZooKe?pe … ZooKxpec
SupWSOr
Sup?W5
worker
? ? ?
work.
executor
| executor
task task
task task
? ? ?
? ? ?
worker nodts
APACHE
STORM”
Spark的设计思想是将流式计算分解成一系列短小的批处理作业,也就是把
Spark Streaming的输入数据按照时间分成一段一段的数据,每一段数据都转换成
Spark中的RDD,然后在Spark[6]内部对RDD进行处理操作,结果可以放到内存中 继续处理或者存储到外部设备。
1.3流式计算框架Spark Streaming的架构分析
Spark Streaming是核心Spark API的一个扩展,它并不会像Storm那样一次 一个地处理数据流,而是在处理前按时间间隔预先将其切分为一段一段的批处理作 业。Spark针对持续性数据流的抽象称为DStream (DiscretizedStream), 一个 DStream是一个微批处理(micro-batching)的RDD (弹性分布式数据集);而RDD 则是一种分布式数据集,能够以两种方式并行运作,分别是任意函数和滑动窗口数 据的转换。
OusttrMesos / YARNworker nod?sRDORDO—T - t . a ■ROD ?
Ousttr
Mesos / YARN
worker nod?s
RDO
RDO
—T - t . a ■
ROD ? 4 亠 f
@ tirne 1
@ time 2
@tme 3
Original
operations
,
f
、
f
RDO
』RDD
RDD
@ time 1
4 @time2
@ time 3
DStream ? Transformed
window-based operation
e ~ wmdow
DStream- Windowed 1—=:
原创力文档


文档评论(0)