我有很多数据,我已经尝试过基数分区[20k,200k +]。Spark :: KMeans调用两次takeSample()?
我把它叫做这样的:
from pyspark.mllib.clustering import KMeans, KMeansModel
C0 = KMeans.train(first, 8192, initializationMode='random', maxIterations=10, seed=None)
C0 = KMeans.train(second, 8192, initializationMode='random', maxIterations=10, seed=None)
,我看到initRandom()调用takeSample()
一次。
然后takeSample()实现似乎并没有自称或类似的东西,所以我希望KMeans()
调用takeSample()
一次。那么为什么监视器显示两个takeSample()
s每KMeans()
?
注:我执行更KMeans()
,他们都援引2个takeSample()
S,不管数据是.cache()
“d与否。
此外,分区不影响数takeSample()
叫的数量,这是不断为2
我使用星火1.6.2(我不能升级)和我的应用程序是在Python,如果那很重要!
我把这个给星火开发者的邮件列表,所以我更新:1日takeSample()
详情:次takeSample()
详情:
可以看到执行相同的代码。