我目前正在使用線性迴歸(Spark ML)中的基準評估小型集羣上的Spark 2.1.0(3個節點有32個CPU和128 GB Ram)。我只測量了參數計算的時間(不包括開始,數據加載,...)並確認了以下行爲。對於小型數據集0.1 Mio - 3 Mio數據點,測量時間並不真正增加,並停留在大約40秒。只有像300 Mio數據點那樣的較大數據集,處理時間纔會增加到200秒。所以看起來,集羣根本沒有擴展到小數據集。Spark集羣不能縮放到小數據
我還將本地pc上的小數據集與僅使用10個工作站和16GB RAM的集羣進行了比較。集羣的處理時間增加了3倍。那麼這被認爲是SPARK的正常行爲,並且可以通過通信開銷來解釋,或者我做錯了什麼(或者線性迴歸不是真正具有代表性)?
集羣是一個獨立的集羣(沒有Yarn或Mesos)以及90個工作人員提交的基準測試,每個工作人員都有1個內核和4 GB內存。
Spark提交內容: ./spark-submit --master spark:// server:7077 --class Benchmark - 部署模式客戶端--total-executor-cores 90 --executor -memory 4g - num-executors 90 .../Benchmark.jar pathToData
我不確定你是否對小0.1-0的表現不滿意。3M數據集,還是更大的300M數據集? – ImDarrenG
嗨,我不是不滿意的表現。我只是想知道,即使數據已經加載並且相當小,羣集花費半分鐘計算是正常的。 –
我會說你的觀察是合理的。一旦我睡了一覺,我會提供一個更詳細的答案 - 如果在此期間沒有其他人做了。 – ImDarrenG