sparkWindow

sparkWindow

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.streaming.{Seconds, StreamingContext}

object sparkWindow {
  def main(args: Array[String]): Unit = {

    val sparkContext = new SparkContext(new SparkConf().setAppName("sparkKafka").setMaster("local[4]"))
    sparkContext.setLogLevel("WARN")
    val streamingContext = new StreamingContext(sparkContext, Seconds(2))
    val receiver = streamingContext.socketTextStream("node01", 9999)
    val wordAndOne = receiver.flatMap(_.split(" ")).map((_, 1))
    //统计的时间长度是十秒,但是每一次偏移5秒
     val result = wordAndOne.reduceByKeyAndWindow((x:Int ,y:Int ) => x+y,Seconds(10),Seconds(4))
    result.print()
    streamingContext.start()
    streamingContext.awaitTermination()
  }
}

おすすめ

転載: blog.csdn.net/weixin_44429965/article/details/107433697