您好,登錄后才能下訂單哦!
測(cè)試思路:
首先,使用上篇文章的程序一發(fā)送網(wǎng)絡(luò)數(shù)據(jù);
其次,運(yùn)行spark程序,觀察效果。
說明:
1. 這里使用到了更新函數(shù);
2. 使用檢查點(diǎn)來保證狀態(tài)。
sparkStreaming import org.apache.log4j.{LoggerLevel} import org.apache.spark.streaming.{SecondsStreamingContext} import org.apache.spark.{SparkContextSparkConf} import org.apache.spark.streaming.StreamingContext._ object StatefulWordCount { def main(args:Array[]){ Logger.().setLevel(Level.) Logger.().setLevel(Level.) updateFunc = (values: []state:Option[]) => { currentCount = values.foldLeft()(_+_) previousCount = state.getOrElse() (currentCount + previousCount) } conf = SparkConf().setAppName().setMaster() sc = SparkContext(conf) ssc = StreamingContext(sc()) ssc.checkpoint() lines = ssc.socketTextStream(args()args().toInt) words = lines.flatMap(_.split()) wordCounts = words.map(x=>(x)) stateDstream = wordCounts.updateStateByKey[](updateFunc) stateDstream.print() ssc.start() ssc.awaitTermination() } }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。