1. 程式人生 > >正常啟動SparkStreaming之後,但是一直獲取不到資料

正常啟動SparkStreaming之後,但是一直獲取不到資料

出現這樣子的問題之後,我們將setMaster的值進行了一點點的修改 local[2]
為什麼?
之前在進行setMaster的值時,當我們為local的時候,其實表示為local[1]
那麼就是告訴我們的程式,只執行一個處理執行緒。但是在現在通過socket的spark streaming來處理的話
一個程序將不夠用?為什麼?
因為一個程序需要處理
還需要一個去獲取資料
為什麼這兩處程序不能銜接在一起?
從程序處理效率來說應該分開,更何況兩個程序處理的內容是不一樣的。
比如我們每隔1s拿過來的資料,但是在處理的時候需要2S。
綜合以上的考慮,需要將local至少為2
如果是2個數據源,那麼至少為4

//設定日誌級別
Logger.getLogger(“org.apache.spark”).setLevel(Level.ERROR)
//saprk streaming 的入口api
//第二個引數,是表示讓spark多久去拿一次資料,也可以稱之為處理時間間隔
//以下引數是設定處理時間間隔(處理時間)為2S
val conf = new SparkConf().setMaster(“local[2 ]”).setAppName(“test”)
//ssc
val ssc: StreamingContext = new StreamingContext(conf,Seconds(10))