




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算应用学习流式01有状态转化介绍目录02UpdateStateByKey有状态转化介绍1有状态转化介绍
DatehelloDateDateDateDateDatehelloDateDateDateDate3s3s采集器DStreamHello,2UpdateStateByKey2UpdateStateByKey
UpdateStateByKey原语用于记录历史记录,有时,我们需要在DStream中跨批次维护状态(例如流计算中累加wordcount)。针对这种情况,updateStateByKey()为我们提供了对一个状态变量的访问,用于键值对形式的DStream。给定一个由(键,事件)对构成的DStream,并传递一个指定如何根据新的事件更新每个键对应状态的函数,它可以构建出一个新的DStream,其内部数据为(键,状态)对。updateStateByKey()的结果会是一个新的DStream,其内部的RDD序列是由每个时间区间对应的(键,状态)对组成的。updateStateByKey操作使得我们可以在用新信息进行更新时保持任意的状态。为使用这个功能,需要做下面两步:1.定义状态,状态可以是一个任意的数据类型。2.定义状态更新函数,用此函数阐明如何使用之前的状态和来自输入流的新值对状态进行更新。使用updateStateByKey需要对检查点目录进行配置,会使用检查点来保存状态。
UpdateStateByKey
Wordcount:编写代码objectSparkStreaming05_State{
defmain(args:Array[String]):Unit={
valsparkConf=newSparkConf().setMaster("local[*]").setAppName("SparkStreaming")valssc=newStreamingContext(sparkConf,Seconds(3))ssc.checkpoint("cp")
//无状态数据操作,只对当前的采集周期内的数据进行处理//在某些场合下,需要保留数据统计结果(状态),实现数据的汇总//使用有状态操作时,需要设定检查点路径valdatas=ssc.socketTextStream("localhost",9999)
valwordToOne=datas.map((_,1))
//valwordToCount=wordToOne.reduceByKey(_+_)
//updateStateByKey:根据key对数据的状态进行更新//传递的参数中含有两个值//第一个值表示相同的key的value数据//第二个值表示缓存区相同key的value数据valstate=wordToOne.updateStateByKey((seq:Seq[Int],buff:Option[Int])=>{valnewCount=buff.getOrElse(0)+seq.sumOption(newCount)})state.print()
ssc.start()ssc.awaitTermination()UpdateStateByKey
Wordcount:结果展示-------------------------------------------Time:1612426170000ms-------------------------------------------(hello,1)
-------------------------------------------Time:1612426176000ms-------------------------------------------(hello,1)(spark,1)
-------------------------------------------Time:1612426179000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年部编版语文五年级下册期末测试题附答案(一)
- 2025设施保养服务合同模板
- 2025咨询服务合同模板(含能评合同)
- 应付账款管理措施计划
- 提升产品迭代速度的月度工作计划
- 前台工作中的自我分析与反思计划
- 2025YY建筑安装工程施工合同
- 班级安全教育的重视计划
- 校园社团建设方案计划
- 中学艺术欣赏与实践活动计划
- 宪法与银行业务
- 机电安装工程专业分包合同
- (二模)咸阳市2025年高考模拟检测(二)语文试卷(含答案)
- 2025高校教资《高等教育法规》核心备考题库(含典型题、重点题)
- 行政事业单位财务知识培训
- 2025-2030中国探地雷达行业发展分析及发展趋势预测与投资价值研究报告
- 智慧共享中药房建设与运行规范
- 《中央八项规定精神学习教育》专项讲座
- 东湖高新区2023-2024学年下学期期中七年级数学试题(含答案)
- 2025年中国信达资产管理股份有限公司招聘笔试参考题库含答案解析
- 劳务派遣劳务外包项目方案投标文件(技术方案)
评论
0/150
提交评论