第三章 大数据实时处理开发实践-3.3 分布式实时处理Spark Streaming.pptxVIP

第三章 大数据实时处理开发实践-3.3 分布式实时处理Spark Streaming.pptx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第三章

大数据实时处理开发实践

大数据实时处理技术栈分布式消息系统Kafka分布式实时处理SparkStreaming分布式实时处理Flink高速道路及服务区拥堵洞察案例实践

3.3.1SparkStreaming基本原理

流批处理采用相同技术栈,降低硬件集群、软件维护、任务监控和应用开发的难度从“Hadoop+Storm”架构转向Spark架构用Spark架构满足批处理和流处理需求

SparkStreaming设计SparkStreaming支持多种输入数据源,如Kafka、Flume、HDFS、TCPsocket套接字流等经处理后的数据可存储至文件系统、数据库,或显示在仪表盘里支持的输入、输出数据源SparkStreaming和Storm最大的区别在于,SparkStreaming无法实现毫秒级的流计算,而Storm可以实现毫秒级响应SparkStreaming构建在Spark上,一方面是因为Spark的低延迟执行引擎(100ms+)可以用于实时计算,另一方面,相比于Storm,RDD数据集更容易做高效的容错处理SparkStreaming采用的小批量处理的方式使得它可以同时兼容批量和实时数据处理的逻辑和算法,因此,方便了一些需要历史数据和实时数据联合分析的特定应用场合

SparkStreaming工作机制在SparkStreaming中,会有一个组件Receiver,作为一个长期运行的task跑在一个Executor上每个Receiver都会负责一个inputDStream(比如从文件中读取数据的文件流,比如套接字流,或者从Kafka中读取的一个输入流等等)SparkStreaming通过inputDStream与外部数据源进行连接,读取相关数据

SparkStreaming最主要的抽象是DStream(DiscretizedStream,离散化数据流),表示连续不断的数据流在内部实现上,SparkStreaming的输入数据按照时间片(如1秒)分成一段一段,每一段数据转换为Spark中的RDD,这些分段就是DStream对DStream的操作都最终转变为对相应的RDD的操作SparkStreaming设计SparkStreaming的基本原理是将实时输入数据流以时间片(秒级,通常在0.5秒~2秒之间)为单位进行拆分,然后经Spark引擎以类似批处理的方式处理每个时间片数据SparkStreaming执行流程

DStream举例在进行单词的词频统计时,一个又一个句子会像流水一样源源不断到达,SparkStreaming会把数据流切分成一段一段,每段形成一个RDD,即RDD@time1、RDD@time2、RDD@time3和RDD@time4等,每个RDD里面都包含了一些句子,这些RDD就构成了一个DStream对这个DStream执行flatMap操作时,实际上会被转换成针对每个RDD的flatMap操作,转换得到的每个新的RDD中都包含了一些单词,这些新的RDD(即RDD@result1、RDD@result2、RDD@result3、RDD@result4等)又构成一个新的DStream整个流式计算可根据业务的需求对这些中间的结果进一步处理,或者存储到外部设备中DStream操作示意图

3.3.2SparkStreaming操作实践

SparkStreaming操作概述SparkStreaming操作可分为基本操作、窗口操作、输入输出操作、状态操作、转换操作:1)基本操作:-union:将两个DStream中的元素进行组合操作-map:对DStream中的每个元素进行转换-reduceByKey:对DStream中的元素按照key进行聚合2.)窗口操作:-window:基于时间窗口对DStream中的数据进行处理-countByWindow:在滑动窗口内对元素进行计数-reduceByWindow:在滑动窗口内对元素进行聚合-reduceByKeyAndWindow:在滑动窗口内对元素按照key进行聚合3)输出操作:-print:打印DStream中的前几个元素-saveAsTextFiles:将DStream中的数据保存为文本文件-saveAsObjectFiles:将DStream中的数据序列化并保存为对象文件

SparkStreaming操作概述4)状态操作:-updateStateByKey:根据key更新状态信息-mapWithState:对DStream中的每个元素进行转换,并维护状态信息5)转换操作:-transform:对D

文档评论(0)

学海无涯而人有崖 + 关注
实名认证
文档贡献者

教师资格证、人力资源管理师持证人

该用户很懒,什么也没介绍

领域认证 该用户于2023年06月11日上传了教师资格证、人力资源管理师

1亿VIP精品文档

相关文档