热门IT资讯网

Streaming 与kafka updateStateBykey()

发表于:2024-11-23 作者:热门IT资讯网编辑
编辑最后更新 2024年11月23日,object H extends App{ val conf=new SparkConf().setMaster("local[2]").setAppName("hello")
object H extends App{        val  conf=new  SparkConf().setMaster("local[2]").setAppName("hello")        val ss=new StreamingContext(conf,Seconds(5))        val kafkaParams=Map[String,String]("metadata.broker.list"->"myhadoop1:9092")        ss.checkpoint("hdfs://myhadoop1:8020/data")        val topic=Set[String]("wordcount1")        //kafka        val lines=KafkaUtils.createDirectStream[String,String,StringDecoder,StringDecoder](ss,kafkaParams,topic)        lines.flatMap(_._2.split(" ")).map((_,1)).updateStateByKey((seqs:Seq[Int],option:Option[Int])=>{                var oldValue=option.getOrElse(0)                for(seq<-seqs){                        oldValue+=seq                }                Option[Int](oldValue)        }).print()        ss.start()        ss.awaitTermination()}


0