Ich habe das gleiche Problem wie in diesem post, aber ich habe nicht genug Punkte, um einen Kommentar dort hinzuzufügen. Mein Datensatz hat 1 Million Zeilen, 100 Spalten. Ich benutze auch MLLib KMeans und es ist extrem langsam. Der Job endet nie wirklich und ich muss ihn töten. Ich führe dies auf Google Cloud (Dataproc). Es läuft, wenn ich nach einer kleineren Anzahl von Clustern (k = 1000) frage, aber immer noch mehr als 35 Minuten brauche. Ich brauche es für k ~ 5000 laufen. Ich habe keine Ahnung warum es so langsam ist. Die Daten werden bei der Anzahl der Worker/Nodes richtig partitioniert und SVD auf einer 1 Million x ~ 300.000 Col-Matrix dauert ~ 3 Minuten, aber wenn es um KMeans geht, geht es einfach in ein schwarzes Loch. Ich versuche jetzt eine geringere Anzahl von Iterationen (2 statt 100), aber ich fühle, dass irgendwo etwas nicht stimmt.Warum ist Spark MLLib KMeans Algorithmus extrem langsam?
KMeansModel Cs = KMeans.train(datamatrix, k, 100);//100 iteration, changed to 2 now. # of clusters k=1000 or 5000
Änderung der # Iteration auf 2 machte überhaupt keinen Unterschied. – Kai
Kai, ich habe ein [ähnliches Problem] (http://stackoverflow.com/questions/39260820/is-sparks-kmeans-unable-to-handle-bigdata). In meinem Fall hängt der Job einfach *, es ist nicht nur langsam. Würdest du irgendwelche Fortschritte sehen, wenn du deinen Job ausführst und es wäre nur langsam, oder würde es nichts tun, wie in meinem Fall? – gsamaras