aboutsummaryrefslogtreecommitdiff
path: root/mllib
diff options
context:
space:
mode:
Diffstat (limited to 'mllib')
-rw-r--r--mllib/src/main/scala/org/apache/spark/mllib/tree/impl/DecisionTreeMetadata.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/mllib/src/main/scala/org/apache/spark/mllib/tree/impl/DecisionTreeMetadata.scala b/mllib/src/main/scala/org/apache/spark/mllib/tree/impl/DecisionTreeMetadata.scala
index f1a6ed2301..f73896e37c 100644
--- a/mllib/src/main/scala/org/apache/spark/mllib/tree/impl/DecisionTreeMetadata.scala
+++ b/mllib/src/main/scala/org/apache/spark/mllib/tree/impl/DecisionTreeMetadata.scala
@@ -107,7 +107,10 @@ private[tree] object DecisionTreeMetadata extends Logging {
numTrees: Int,
featureSubsetStrategy: String): DecisionTreeMetadata = {
- val numFeatures = input.take(1)(0).features.size
+ val numFeatures = input.map(_.features.size).take(1).headOption.getOrElse {
+ throw new IllegalArgumentException(s"DecisionTree requires size of input RDD > 0, " +
+ s"but was given by empty one.")
+ }
val numExamples = input.count()
val numClasses = strategy.algo match {
case Classification => strategy.numClasses