package org.hnsw import org.apache.spark.SparkConf import org.apache.spark.streaming.{Seconds, StreamingContext} object DStream_winCountby { 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、业务逻辑 //窗口类rdd数据的数量 val dStream_win = dStream.countByWindow(Seconds(5), Seconds(2)) //指定窗口大小 和 滑动频率 必须是批处理时间的整数倍 dStream_win.print() //4、启动stream sc.start() //5、挂起stream sc.awaitTermination() } }