我有同樣的問題,因爲在這個post,但我沒有足夠的積分,添加評論那裏。我的數據集有100萬行,100列。我也使用Mllib KMeans,它非常緩慢。這項工作實際上從來沒有完成,我必須殺死它。我在谷歌雲(dataproc)上運行它。如果我要求更少數量的羣集(k = 1000),它仍然運行,但仍需要超過35分鐘。我需要它運行k〜5000。我不知道它爲什麼這麼慢。考慮到工人/節點的數量,在一個100萬x 300,000列矩陣上需要大約3分鐘的時間,這些數據才能被正確分區,但是當涉及到KMeans時,它只會陷入黑洞。我現在嘗試更少的迭代次數(2次而不是100次),但是我覺得某處出了問題。爲什麼Spark Mllib KMeans算法非常慢?
KMeansModel Cs = KMeans.train(datamatrix, k, 100);//100 iteration, changed to 2 now. # of clusters k=1000 or 5000
將#迭代更改爲2沒有任何差別。 – Kai
啓,我有一個[類似的問題](http://stackoverflow.com/questions/39260820/is-sparks-kmeans-unable-to-handle-bigdata)。但是,就我而言,這個工作簡直是掛了*,不僅僅是因爲它很慢。你是否會在工作中看到任何進步,而且速度會很慢,或者什麼也不做,就像我的情況一樣? – gsamaras