Github user jkbradley commented on a diff in the pull request:
https://github.com/apache/spark/pull/15965#discussion_r92527086
--- Diff: mllib/src/main/scala/org/apache/spark/ml/clustering/KMeans.scala
---
@@ -306,12 +307,20 @@ class KMeans @Since("1.5.0") (
@Since("2.0.0")
override def fit(dataset: Dataset[_]): KMeansModel = {
+ val handlePersistence = dataset.rdd.getStorageLevel ==
StorageLevel.NONE
+ fit(dataset, handlePersistence)
+ }
+
+ @Since("2.2.0")
+ protected def fit(dataset: Dataset[_], handlePersistence: Boolean):
KMeansModel = {
--- End diff --
I like the change in terms of eliminating the extra fit() method (which is
not done anywhere else in spark.ml), but I think you'll need to keep the
original test for storage level ```val handlePersistence =
dataset.rdd.getStorageLevel == StorageLevel.NONE```. In the current change,
the RDD being tested is different from ```dataset.rdd```, so handlePersistence
would always be true regardless of the original storage level. Could you
please send a little PR which merges the 2 fit() methods? Thanks!
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]