DStream窗口操作-DStream_ReduceBykeyAndWindow
2022/6/10 23:21:23
本文主要是介绍DStream窗口操作-DStream_ReduceBykeyAndWindow,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package org.hnsw import org.apache.spark.SparkConf import org.apache.spark.streaming.{Seconds, StreamingContext} object DStream_ReduceBykeyAndWindow { def main(args: Array[String]): Unit = { //1、初始化Context上下文 val conf = new SparkConf().setAppName("jxq").setMaster("local[*]") val sc = new StreamingContext(conf, Seconds(1)) //2、指定采集服务器ip和端口 //设置切换 // sc.checkpoint("out") //执行countByWindow前需要设置checkpoint val dStream = sc.socketTextStream("192.168.3.66",8888) //3、业务逻辑: 窗口函数操作 //1) 分割字符,取到单词,装换成key-value结构 //窗口类rdd数据的数量 val wolds = dStream.flatMap((x)=>{ x.split(" ") }).map((x)=>{ (x,1) //设置单词初始计算值为1 }) //2)reduceByKeyWindow方法 对窗口内数据进行规约聚合操作 // 输入参数需要显示的指定类型 val reduceWords = wolds.reduceByKeyAndWindow((x:Int,y:Int)=>{ x + y },Seconds(4),Seconds(2)) //指定窗口大小 和 滑动频率 必须是批处理时间的整数倍 //3)结果打印 reduceWords.print() //4、启动stream sc.start() //5、挂起stream sc.awaitTermination() } }
这篇关于DStream窗口操作-DStream_ReduceBykeyAndWindow的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升