felixcheung commented on a change in pull request #25442: [SPARK-28722][ML] Change sequential label sorting in StringIndexer fit to parallel URL: https://github.com/apache/spark/pull/25442#discussion_r313712444
########## File path: mllib/src/main/scala/org/apache/spark/ml/feature/StringIndexer.scala ########## @@ -213,32 +221,36 @@ class StringIndexer @Since("1.4.0") ( val labelsArray = $(stringOrderType) match { case StringIndexer.frequencyDesc => val sortFunc = StringIndexer.getSortFunc(ascending = false) - countByValue(dataset, inputCols).map { counts => + val orgStrings = countByValue(dataset, inputCols).toSeq + ThreadUtils.parmap(orgStrings, "sortingStringLabels", 8) { counts => Review comment: how is 8 picked here? should this be ~= number of driver core or something? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org