欢迎来到天天文库
浏览记录
ID:47459276
大小:2.36 MB
页数:10页
时间:2020-01-11
《流式计算技术与应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、....流式计算技术及应用研究报告学校代码:10248作者姓名:叶稳定学号:115372050第一导师:第二导师:学科专业:软件工程上海交通大学软件学院2016年5月.word资料可编辑.....目录1流式计算技术综述21.1流式计算技术概述21.2流式计算框架Storm的架构分析31.3流式计算框架SparkStreaming的架构分析41.3Storm与SparkStreaming的架构对比62流式计算技术在实际项目中的应用62.1基于流式计算框架SparkStreaming的数据实时处理应用的系统架构62.2基于复杂事件处
2、理CEP框架的数据实时处理应用的系统架构72.3基于其他流式计算框架的数据实时处理应用的系统架构7参考文献9.word资料可编辑.....1流式计算技术综述1.1流式计算技术概述流数据处理应用要求我们的系统可以接受大量的,不间断的数据称为流式数据。流式计算中,无法确定数据的到来时刻和到来顺序,也无法全部数据存储起来.因此,不再进行流式数据的存储,而是当流动的数据到来后在内存中直接进行数据的实时计算.如Twitter的Storm、Yahoo的S4[6]就是典型的流式数据计算架构,数据在任务拓扑中被计算,并输出有价值的信息.对于无需
3、先存储,可以直接进行数据计算,实时性要求很严格,但数据的精确度要求稍微宽松的应用场景,流式计算具有明显优势.流式计算中,数据往往是最近一个时间窗口内的,因此数据延迟往往较短,实时性较强。.word资料可编辑.....1.2流式计算框架Storm的架构分析 ApacheStorm[5],在Storm中,先要设计一个用于实时计算的图状结构,我们称之为拓扑(topology)。这个拓扑将会被提交给集群,由集群中的主控节点(masternode)[5]分发代码,将任务分配给工作节点(workernode)执行。一个拓扑中包括spout和
4、bolt两种角色,其中spout发送消息,负责将数据流以tuple元组的形式发送出去;而bolt则负责转换这些数据流,在bolt中可以完成计算、过滤等操作,bolt自身也可以随机将数据发送给其他bolt。由spout发射出的tuple是不可变数组,对应着固定的键值对。Spark的设计思想是将流式计算分解成一系列短小的批处理作业,也就是把Spark Streaming的输入数据按照时间分成一段一段的数据,每一段数据都转换成Spark中的RDD,然后在Spark[6]内部对RDD进行处理操作,结果可以放到内存中继续处理或者存储到外部
5、设备。.word资料可编辑.....1.3流式计算框架SparkStreaming的架构分析 SparkStreaming是核心SparkAPI的一个扩展,它并不会像Storm那样一次一个地处理数据流,而是在处理前按时间间隔预先将其切分为一段一段的批处理作业。Spark针对持续性数据流的抽象称为DStream(DiscretizedStream),一个DStream是一个微批处理(micro-batching)的RDD(弹性分布式数据集);而RDD则是一种分布式数据集,能够以两种方式并行运作,分别是任意函数和滑动窗口数据的转换。
6、.word资料可编辑.....Storm将计算逻辑抽象为拓扑Topology,Spout是Topology的数据源,数据源可以是日志或者消息队列,也可以是数据库中的表等等数据,Bolt负责数据的整个传递方向,也叫消息处理者,Bolt可能由另外2个Bolt进行join得到,在Storm中数据流的单位就是Tuple(元组),这个Tuple可能是由多个Fields字段构成,每个字段都由Bolt定义,Storm中工作进程叫做worker,一个Topology实际上实在多个worker中运行的,在集群中每个Spout和Bolt都是由多个T
7、asks(任务)组成的,对于宏观的节点,分为Nimbus主节点和Supervisor从节点,Nimbus通过Zookeeper管理集群所有的Supervisor,Storm提供很多配置来调整Nimbus、Supervisor进程和正在运行的Topology的行为。1.3Storm与SparkStreaming的架构对比 以上2种实时计算系统都是开源的分布式系统,具有低延迟、可扩展和容错性诸多优点,它们的共同特色在于:允许你在运行数据流代码时,将任务分配到一系列具有容错能力的计算机上并行运行。此外,它们都提供了简单的API来简化底
8、层实现的复杂程度。所以,总结一下Storm[2].word资料可编辑.....的计算流程,首先是用户使用Storm提供的API编写Topology计算逻辑,然后使用Storm提供的Client将Topology提交给Nimbus,然后Nimbus将Task作业指
此文档下载收益归作者所有