【问题标题】:Pyspark - WARN BisectingKMeans: The input RDD is not directly cachedPyspark - WARN BisectingKMeans:输入 RDD 未直接缓存
【发布时间】:2018-01-22 20:09:02
【问题描述】:

我将 kmeans 一分为二

bkm_test=BisectingKMeans().setK(5).setSeed(1)

rdf.cache()
assembled.cache()
model_test=bkm_test.fit(assembled)

当我不断收到错误时,我缓存了两个数据帧,但这并没有什么区别,我发现这个 question 与 kmeans 相似但很相似。 但我也在下面收到一个 WARN Executor 错误。这只是算法内部我无法修复的东西吗?

17/08/14 21:53:17 WARN BisectingKMeans: The input RDD 306 is not directly cached, which may hurt performance if its parent RDDs are also not cached.
17/08/14 21:53:17 WARN Executor: 1 block locks were not released by TID = 132:
[rdd_302_0]

【问题讨论】:

    标签: pyspark spark-dataframe apache-spark-mllib apache-spark-ml


    【解决方案1】:

    这来自BisectingKMeans within MLlib,其中Spark ML uses internally。 MLlib 使用向量的 RDD,而 Spark ML 是面向 DataFrame 的,因此 BisectingKMeans converts your DataFrame into an RDD of Vector values 的 ML 版本。转换未缓存,因此您最终会收到错误消息。

    希望这不是严重的放缓。我还没有找到一种简单的方法来强制缓存转换后的 RDD。

    【讨论】:

      猜你喜欢
      • 2017-03-17
      • 2018-05-27
      • 2018-04-21
      • 1970-01-01
      • 1970-01-01
      • 2018-09-28
      • 2017-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多