我在EMR上运行Pyspark MLLib工作。 RDD有98000行。 当我在它上面执行Kmeans时,它需要几个小时仍然显示0%。 我尝试启用maximizeresourceAllocation并增加执行程序和驱动程序的内存,但它仍然是相同的。 我怎样才能加快速度? 以下是我正在执行的代码:
from numpy import array
from math import sqrt
import time
from pyspark.mllib.clustering import KMeans, KMeansModel
start=time.time()
clusters = KMeans.train(parsedata,88000, maxIterations=5, initializationMode="random")
def error(point):
center = clusters.centers[clusters.predict(point)]
return sqrt(sum([x**2 for x in (point - center)]))
WSSSE = parsedata.map(lambda point: error(point)).reduce(lambda x, y: x + y)
print("Within Set Sum of Squared Error = " + str(WSSSE))
print time.time()-start
非常感谢任何帮助或建议。