溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

spark streaming測試之四設(shè)置窗口大小接收數(shù)據(jù)

發(fā)布時(shí)間:2020-08-01 14:39:26 來源:網(wǎng)絡(luò) 閱讀:1440 作者:996440550 欄目:大數(shù)據(jù)

測試思路:

    首先,使用網(wǎng)絡(luò)數(shù)據(jù)發(fā)送程序發(fā)送數(shù)據(jù);

    然后,運(yùn)行spark程序;

    觀察效果。

說明:

    1. 這里也需要設(shè)置檢查點(diǎn)目錄

    2. 這里有四個(gè)參數(shù):

       前兩個(gè)分別是監(jiān)聽的端口和每隔多少毫秒接收一次數(shù)據(jù);

       第三個(gè)參數(shù)是接收前多少毫秒的數(shù)據(jù);(詳細(xì)請參見window具體含義)

       第四個(gè)參數(shù)是每隔多少毫秒接收一次數(shù)據(jù)。


sparkStreaming

import org.apache.log4j.{LoggerLevel}
import org.apache.spark.storage.StorageLevel
import org.apache.spark.streaming.{SecondsStreamingContext}
import org.apache.spark.{SparkContextSparkConf}
import org.apache.spark.streaming.StreamingContext._

WindowWordCount {
  def main(args: Array[]){

    Logger.().setLevel(Level.)
    Logger.().setLevel(Level.)

    conf = SparkConf().setAppName().setMaster()
    sc = SparkContext(conf)

    ssc = StreamingContext(sc())
    ssc.checkpoint()

    val lines = ssc.socketTextStream(args(0),args(1).toInt,
      StorageLevel.MEMORY_ONLY_SER)
    words = lines.flatMap(_.split())

    //windows operator
    val wordCounts = words.map(x=>(x,1)).reduceByKeyAndWindow((a:Int,b:Int)=>(a+b),
      Seconds(args(2).toInt),Seconds(args(3).toInt))

    wordCounts.print()
    ssc.start()
    ssc.awaitTermination()
  }
}
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI