2017-08-25 211 views
1

在著名的字用於火花流計數例如飢餓的情況下,如下所述火花配置對象被初始化沒有設置主人,我沒有得到預期的輸出,實際上字數不會發生。什麼是在火花流

評論說:「主人需要2個核心,以防止飢餓的情況下」這就是爲什麼他們已經完成setMaster(「本地[2]」)。

有人可以解釋爲什麼它需要2個核心,什麼是飢餓情景?

回答

3

documentation

[...]注意,星火工人/執行是一個長期運行的任務,因此它佔用分配給星火流應用的核心之一。因此,重要的是要記住,Spark Streaming應用程序需要分配足夠的內核(或線程,如果在本地運行)來處理接收到的數據以及運行接收器。

換句話說,一個線程將用於運行接收器,並且至少還需要一個線程來處理接收到的數據。對於集羣,分配的內核數量必須大於接收方的數量,否則系統無法處理數據。

因此,在本地運行時,至少需要2個線程,並且在使用集羣時至少需要將2個內核分配給系統。


飢餓的情況是指這種類型的問題,其中一些線程不能在所有的執行,而其他取得進展。

在有些情況下飢餓衆所周知兩種經典的問題: