You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by gu...@apache.org on 2018/07/09 14:59:12 UTC
spark git commit: [SPARK-24268][SQL] Use datatype.simpleString in
error messages
Repository: spark
Updated Branches:
refs/heads/master 034913b62 -> 1bd3d61f4
[SPARK-24268][SQL] Use datatype.simpleString in error messages
## What changes were proposed in this pull request?
SPARK-22893 tried to unify error messages about dataTypes. Unfortunately, still many places were missing the `simpleString` method in other to have the same representation everywhere.
The PR unified the messages using alway the simpleString representation of the dataTypes in the messages.
## How was this patch tested?
existing/modified UTs
Author: Marco Gaido <ma...@gmail.com>
Closes #21321 from mgaido91/SPARK-24268.
Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/1bd3d61f
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/1bd3d61f
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/1bd3d61f
Branch: refs/heads/master
Commit: 1bd3d61f4191767a94b71b42f4d00706b703e84f
Parents: 034913b
Author: Marco Gaido <ma...@gmail.com>
Authored: Mon Jul 9 22:59:05 2018 +0800
Committer: hyukjinkwon <gu...@apache.org>
Committed: Mon Jul 9 22:59:05 2018 +0800
----------------------------------------------------------------------
.../apache/spark/sql/kafka010/KafkaWriteTask.scala | 6 +++---
.../org/apache/spark/sql/kafka010/KafkaWriter.scala | 6 +++---
.../sql/kafka010/KafkaContinuousSinkSuite.scala | 4 ++--
.../apache/spark/sql/kafka010/KafkaSinkSuite.scala | 4 ++--
.../scala/org/apache/spark/ml/feature/DCT.scala | 3 ++-
.../org/apache/spark/ml/feature/FeatureHasher.scala | 5 +++--
.../org/apache/spark/ml/feature/HashingTF.scala | 2 +-
.../org/apache/spark/ml/feature/Interaction.scala | 3 ++-
.../scala/org/apache/spark/ml/feature/NGram.scala | 2 +-
.../org/apache/spark/ml/feature/OneHotEncoder.scala | 3 ++-
.../org/apache/spark/ml/feature/RFormula.scala | 2 +-
.../apache/spark/ml/feature/StopWordsRemover.scala | 4 ++--
.../org/apache/spark/ml/feature/Tokenizer.scala | 3 ++-
.../apache/spark/ml/feature/VectorAssembler.scala | 2 +-
.../scala/org/apache/spark/ml/fpm/FPGrowth.scala | 2 +-
.../org/apache/spark/ml/util/SchemaUtils.scala | 11 +++++++----
.../BinaryClassificationEvaluatorSuite.scala | 4 ++--
.../org/apache/spark/ml/feature/RFormulaSuite.scala | 2 +-
.../spark/ml/feature/VectorAssemblerSuite.scala | 6 +++---
.../apache/spark/ml/recommendation/ALSSuite.scala | 2 +-
.../ml/regression/AFTSurvivalRegressionSuite.scala | 2 +-
.../org/apache/spark/ml/util/MLTestingUtils.scala | 6 +++---
.../catalyst/expressions/complexTypeCreator.scala | 4 ++--
.../sql/catalyst/expressions/jsonExpressions.scala | 2 +-
.../catalyst/expressions/stringExpressions.scala | 5 +++--
.../spark/sql/catalyst/json/JacksonGenerator.scala | 4 ++--
.../spark/sql/catalyst/json/JacksonParser.scala | 6 ++++--
.../spark/sql/catalyst/json/JsonInferSchema.scala | 6 ++++--
.../apache/spark/sql/catalyst/util/TypeUtils.scala | 5 +++--
.../apache/spark/sql/types/AbstractDataType.scala | 9 +++++----
.../org/apache/spark/sql/types/ArrayType.scala | 5 +++--
.../org/apache/spark/sql/types/DecimalType.scala | 3 ++-
.../org/apache/spark/sql/types/ObjectType.scala | 3 ++-
.../org/apache/spark/sql/types/StructType.scala | 5 +++--
.../sql/catalyst/analysis/AnalysisErrorSuite.scala | 2 +-
.../analysis/ExpressionTypeCheckingSuite.scala | 16 ++++++++--------
.../sql/catalyst/parser/ExpressionParserSuite.scala | 2 +-
.../org/apache/spark/sql/types/DataTypeSuite.scala | 2 +-
.../datasources/parquet/VectorizedColumnReader.java | 2 +-
.../apache/spark/sql/RelationalGroupedDataset.scala | 2 +-
.../spark/sql/execution/arrow/ArrowUtils.scala | 3 ++-
.../sql/execution/datasources/orc/OrcFilters.scala | 2 +-
.../parquet/ParquetSchemaConverter.scala | 2 +-
.../spark/sql/execution/stat/StatFunctions.scala | 2 +-
.../sql-tests/results/json-functions.sql.out | 4 ++--
.../resources/sql-tests/results/literals.sql.out | 6 +++---
.../datasources/parquet/ParquetSchemaSuite.scala | 4 ++--
.../sql/hive/execution/HiveTableScanExec.scala | 6 +++---
48 files changed, 108 insertions(+), 88 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/external/kafka-0-10-sql/src/main/scala/org/apache/spark/sql/kafka010/KafkaWriteTask.scala
----------------------------------------------------------------------
diff --git a/external/kafka-0-10-sql/src/main/scala/org/apache/spark/sql/kafka010/KafkaWriteTask.scala b/external/kafka-0-10-sql/src/main/scala/org/apache/spark/sql/kafka010/KafkaWriteTask.scala
index d90630a..59a8470 100644
--- a/external/kafka-0-10-sql/src/main/scala/org/apache/spark/sql/kafka010/KafkaWriteTask.scala
+++ b/external/kafka-0-10-sql/src/main/scala/org/apache/spark/sql/kafka010/KafkaWriteTask.scala
@@ -110,7 +110,7 @@ private[kafka010] abstract class KafkaRowWriter(
case t =>
throw new IllegalStateException(s"${KafkaWriter.TOPIC_ATTRIBUTE_NAME} " +
s"attribute unsupported type $t. ${KafkaWriter.TOPIC_ATTRIBUTE_NAME} " +
- "must be a StringType")
+ s"must be a ${StringType.simpleString}")
}
val keyExpression = inputSchema.find(_.name == KafkaWriter.KEY_ATTRIBUTE_NAME)
.getOrElse(Literal(null, BinaryType))
@@ -118,7 +118,7 @@ private[kafka010] abstract class KafkaRowWriter(
case StringType | BinaryType => // good
case t =>
throw new IllegalStateException(s"${KafkaWriter.KEY_ATTRIBUTE_NAME} " +
- s"attribute unsupported type $t")
+ s"attribute unsupported type ${t.simpleString}")
}
val valueExpression = inputSchema
.find(_.name == KafkaWriter.VALUE_ATTRIBUTE_NAME).getOrElse(
@@ -129,7 +129,7 @@ private[kafka010] abstract class KafkaRowWriter(
case StringType | BinaryType => // good
case t =>
throw new IllegalStateException(s"${KafkaWriter.VALUE_ATTRIBUTE_NAME} " +
- s"attribute unsupported type $t")
+ s"attribute unsupported type ${t.simpleString}")
}
UnsafeProjection.create(
Seq(topicExpression, Cast(keyExpression, BinaryType),
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/external/kafka-0-10-sql/src/main/scala/org/apache/spark/sql/kafka010/KafkaWriter.scala
----------------------------------------------------------------------
diff --git a/external/kafka-0-10-sql/src/main/scala/org/apache/spark/sql/kafka010/KafkaWriter.scala b/external/kafka-0-10-sql/src/main/scala/org/apache/spark/sql/kafka010/KafkaWriter.scala
index 15cd448..3ec26e9 100644
--- a/external/kafka-0-10-sql/src/main/scala/org/apache/spark/sql/kafka010/KafkaWriter.scala
+++ b/external/kafka-0-10-sql/src/main/scala/org/apache/spark/sql/kafka010/KafkaWriter.scala
@@ -57,7 +57,7 @@ private[kafka010] object KafkaWriter extends Logging {
).dataType match {
case StringType => // good
case _ =>
- throw new AnalysisException(s"Topic type must be a String")
+ throw new AnalysisException(s"Topic type must be a ${StringType.simpleString}")
}
schema.find(_.name == KEY_ATTRIBUTE_NAME).getOrElse(
Literal(null, StringType)
@@ -65,7 +65,7 @@ private[kafka010] object KafkaWriter extends Logging {
case StringType | BinaryType => // good
case _ =>
throw new AnalysisException(s"$KEY_ATTRIBUTE_NAME attribute type " +
- s"must be a String or BinaryType")
+ s"must be a ${StringType.simpleString} or ${BinaryType.simpleString}")
}
schema.find(_.name == VALUE_ATTRIBUTE_NAME).getOrElse(
throw new AnalysisException(s"Required attribute '$VALUE_ATTRIBUTE_NAME' not found")
@@ -73,7 +73,7 @@ private[kafka010] object KafkaWriter extends Logging {
case StringType | BinaryType => // good
case _ =>
throw new AnalysisException(s"$VALUE_ATTRIBUTE_NAME attribute type " +
- s"must be a String or BinaryType")
+ s"must be a ${StringType.simpleString} or ${BinaryType.simpleString}")
}
}
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaContinuousSinkSuite.scala
----------------------------------------------------------------------
diff --git a/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaContinuousSinkSuite.scala b/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaContinuousSinkSuite.scala
index ddfc0c1..0e1492a 100644
--- a/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaContinuousSinkSuite.scala
+++ b/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaContinuousSinkSuite.scala
@@ -314,7 +314,7 @@ class KafkaContinuousSinkSuite extends KafkaContinuousTest {
writer.stop()
}
assert(ex.getMessage.toLowerCase(Locale.ROOT).contains(
- "value attribute type must be a string or binarytype"))
+ "value attribute type must be a string or binary"))
try {
/* key field wrong type */
@@ -330,7 +330,7 @@ class KafkaContinuousSinkSuite extends KafkaContinuousTest {
writer.stop()
}
assert(ex.getMessage.toLowerCase(Locale.ROOT).contains(
- "key attribute type must be a string or binarytype"))
+ "key attribute type must be a string or binary"))
}
test("streaming - write to non-existing topic") {
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaSinkSuite.scala
----------------------------------------------------------------------
diff --git a/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaSinkSuite.scala b/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaSinkSuite.scala
index 7079ac6..70ffd7d 100644
--- a/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaSinkSuite.scala
+++ b/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaSinkSuite.scala
@@ -303,7 +303,7 @@ class KafkaSinkSuite extends StreamTest with SharedSQLContext {
writer.stop()
}
assert(ex.getMessage.toLowerCase(Locale.ROOT).contains(
- "value attribute type must be a string or binarytype"))
+ "value attribute type must be a string or binary"))
try {
ex = intercept[StreamingQueryException] {
@@ -318,7 +318,7 @@ class KafkaSinkSuite extends StreamTest with SharedSQLContext {
writer.stop()
}
assert(ex.getMessage.toLowerCase(Locale.ROOT).contains(
- "key attribute type must be a string or binarytype"))
+ "key attribute type must be a string or binary"))
}
test("streaming - write to non-existing topic") {
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/main/scala/org/apache/spark/ml/feature/DCT.scala
----------------------------------------------------------------------
diff --git a/mllib/src/main/scala/org/apache/spark/ml/feature/DCT.scala b/mllib/src/main/scala/org/apache/spark/ml/feature/DCT.scala
index 682787a..1eac1d1 100644
--- a/mllib/src/main/scala/org/apache/spark/ml/feature/DCT.scala
+++ b/mllib/src/main/scala/org/apache/spark/ml/feature/DCT.scala
@@ -69,7 +69,8 @@ class DCT @Since("1.5.0") (@Since("1.5.0") override val uid: String)
}
override protected def validateInputType(inputType: DataType): Unit = {
- require(inputType.isInstanceOf[VectorUDT], s"Input type must be VectorUDT but got $inputType.")
+ require(inputType.isInstanceOf[VectorUDT],
+ s"Input type must be ${(new VectorUDT).simpleString} but got ${inputType.simpleString}.")
}
override protected def outputDataType: DataType = new VectorUDT
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/main/scala/org/apache/spark/ml/feature/FeatureHasher.scala
----------------------------------------------------------------------
diff --git a/mllib/src/main/scala/org/apache/spark/ml/feature/FeatureHasher.scala b/mllib/src/main/scala/org/apache/spark/ml/feature/FeatureHasher.scala
index d67e481..405ea46 100644
--- a/mllib/src/main/scala/org/apache/spark/ml/feature/FeatureHasher.scala
+++ b/mllib/src/main/scala/org/apache/spark/ml/feature/FeatureHasher.scala
@@ -208,8 +208,9 @@ class FeatureHasher(@Since("2.3.0") override val uid: String) extends Transforme
require(dataType.isInstanceOf[NumericType] ||
dataType.isInstanceOf[StringType] ||
dataType.isInstanceOf[BooleanType],
- s"FeatureHasher requires columns to be of NumericType, BooleanType or StringType. " +
- s"Column $fieldName was $dataType")
+ s"FeatureHasher requires columns to be of ${NumericType.simpleString}, " +
+ s"${BooleanType.simpleString} or ${StringType.simpleString}. " +
+ s"Column $fieldName was ${dataType.simpleString}")
}
val attrGroup = new AttributeGroup($(outputCol), $(numFeatures))
SchemaUtils.appendColumn(schema, attrGroup.toStructField())
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/main/scala/org/apache/spark/ml/feature/HashingTF.scala
----------------------------------------------------------------------
diff --git a/mllib/src/main/scala/org/apache/spark/ml/feature/HashingTF.scala b/mllib/src/main/scala/org/apache/spark/ml/feature/HashingTF.scala
index db432b6..403b0a8 100644
--- a/mllib/src/main/scala/org/apache/spark/ml/feature/HashingTF.scala
+++ b/mllib/src/main/scala/org/apache/spark/ml/feature/HashingTF.scala
@@ -104,7 +104,7 @@ class HashingTF @Since("1.4.0") (@Since("1.4.0") override val uid: String)
override def transformSchema(schema: StructType): StructType = {
val inputType = schema($(inputCol)).dataType
require(inputType.isInstanceOf[ArrayType],
- s"The input column must be ArrayType, but got $inputType.")
+ s"The input column must be ${ArrayType.simpleString}, but got ${inputType.simpleString}.")
val attrGroup = new AttributeGroup($(outputCol), $(numFeatures))
SchemaUtils.appendColumn(schema, attrGroup.toStructField())
}
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/main/scala/org/apache/spark/ml/feature/Interaction.scala
----------------------------------------------------------------------
diff --git a/mllib/src/main/scala/org/apache/spark/ml/feature/Interaction.scala b/mllib/src/main/scala/org/apache/spark/ml/feature/Interaction.scala
index 4ff1d0e..5e01ec3 100644
--- a/mllib/src/main/scala/org/apache/spark/ml/feature/Interaction.scala
+++ b/mllib/src/main/scala/org/apache/spark/ml/feature/Interaction.scala
@@ -261,7 +261,8 @@ private[ml] class FeatureEncoder(numFeatures: Array[Int]) extends Serializable {
*/
def foreachNonzeroOutput(value: Any, f: (Int, Double) => Unit): Unit = value match {
case d: Double =>
- assert(numFeatures.length == 1, "DoubleType columns should only contain one feature.")
+ assert(numFeatures.length == 1,
+ s"${DoubleType.simpleString} columns should only contain one feature.")
val numOutputCols = numFeatures.head
if (numOutputCols > 1) {
assert(
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/main/scala/org/apache/spark/ml/feature/NGram.scala
----------------------------------------------------------------------
diff --git a/mllib/src/main/scala/org/apache/spark/ml/feature/NGram.scala b/mllib/src/main/scala/org/apache/spark/ml/feature/NGram.scala
index c8760f9..6445360 100644
--- a/mllib/src/main/scala/org/apache/spark/ml/feature/NGram.scala
+++ b/mllib/src/main/scala/org/apache/spark/ml/feature/NGram.scala
@@ -65,7 +65,7 @@ class NGram @Since("1.5.0") (@Since("1.5.0") override val uid: String)
override protected def validateInputType(inputType: DataType): Unit = {
require(inputType.sameType(ArrayType(StringType)),
- s"Input type must be ArrayType(StringType) but got $inputType.")
+ s"Input type must be ${ArrayType(StringType).simpleString} but got $inputType.")
}
override protected def outputDataType: DataType = new ArrayType(StringType, false)
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/main/scala/org/apache/spark/ml/feature/OneHotEncoder.scala
----------------------------------------------------------------------
diff --git a/mllib/src/main/scala/org/apache/spark/ml/feature/OneHotEncoder.scala b/mllib/src/main/scala/org/apache/spark/ml/feature/OneHotEncoder.scala
index 5ab6c2d..24045f0 100644
--- a/mllib/src/main/scala/org/apache/spark/ml/feature/OneHotEncoder.scala
+++ b/mllib/src/main/scala/org/apache/spark/ml/feature/OneHotEncoder.scala
@@ -85,7 +85,8 @@ class OneHotEncoder @Since("1.4.0") (@Since("1.4.0") override val uid: String) e
val inputFields = schema.fields
require(schema(inputColName).dataType.isInstanceOf[NumericType],
- s"Input column must be of type NumericType but got ${schema(inputColName).dataType}")
+ s"Input column must be of type ${NumericType.simpleString} but got " +
+ schema(inputColName).dataType.simpleString)
require(!inputFields.exists(_.name == outputColName),
s"Output column $outputColName already exists.")
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/main/scala/org/apache/spark/ml/feature/RFormula.scala
----------------------------------------------------------------------
diff --git a/mllib/src/main/scala/org/apache/spark/ml/feature/RFormula.scala b/mllib/src/main/scala/org/apache/spark/ml/feature/RFormula.scala
index 55e595e..346e182 100644
--- a/mllib/src/main/scala/org/apache/spark/ml/feature/RFormula.scala
+++ b/mllib/src/main/scala/org/apache/spark/ml/feature/RFormula.scala
@@ -394,7 +394,7 @@ class RFormulaModel private[feature](
require(!columnNames.contains($(featuresCol)), "Features column already exists.")
require(
!columnNames.contains($(labelCol)) || schema($(labelCol)).dataType.isInstanceOf[NumericType],
- "Label column already exists and is not of type NumericType.")
+ s"Label column already exists and is not of type ${NumericType.simpleString}.")
}
@Since("2.0.0")
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/main/scala/org/apache/spark/ml/feature/StopWordsRemover.scala
----------------------------------------------------------------------
diff --git a/mllib/src/main/scala/org/apache/spark/ml/feature/StopWordsRemover.scala b/mllib/src/main/scala/org/apache/spark/ml/feature/StopWordsRemover.scala
index 0f946dd..ead75d5 100755
--- a/mllib/src/main/scala/org/apache/spark/ml/feature/StopWordsRemover.scala
+++ b/mllib/src/main/scala/org/apache/spark/ml/feature/StopWordsRemover.scala
@@ -131,8 +131,8 @@ class StopWordsRemover @Since("1.5.0") (@Since("1.5.0") override val uid: String
@Since("1.5.0")
override def transformSchema(schema: StructType): StructType = {
val inputType = schema($(inputCol)).dataType
- require(inputType.sameType(ArrayType(StringType)),
- s"Input type must be ArrayType(StringType) but got $inputType.")
+ require(inputType.sameType(ArrayType(StringType)), "Input type must be " +
+ s"${ArrayType(StringType).simpleString} but got ${inputType.simpleString}.")
SchemaUtils.appendColumn(schema, $(outputCol), inputType, schema($(inputCol)).nullable)
}
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/main/scala/org/apache/spark/ml/feature/Tokenizer.scala
----------------------------------------------------------------------
diff --git a/mllib/src/main/scala/org/apache/spark/ml/feature/Tokenizer.scala b/mllib/src/main/scala/org/apache/spark/ml/feature/Tokenizer.scala
index cfaf6c0..5132f63 100644
--- a/mllib/src/main/scala/org/apache/spark/ml/feature/Tokenizer.scala
+++ b/mllib/src/main/scala/org/apache/spark/ml/feature/Tokenizer.scala
@@ -40,7 +40,8 @@ class Tokenizer @Since("1.4.0") (@Since("1.4.0") override val uid: String)
}
override protected def validateInputType(inputType: DataType): Unit = {
- require(inputType == StringType, s"Input type must be string type but got $inputType.")
+ require(inputType == StringType,
+ s"Input type must be ${StringType.simpleString} type but got ${inputType.simpleString}.")
}
override protected def outputDataType: DataType = new ArrayType(StringType, true)
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/main/scala/org/apache/spark/ml/feature/VectorAssembler.scala
----------------------------------------------------------------------
diff --git a/mllib/src/main/scala/org/apache/spark/ml/feature/VectorAssembler.scala b/mllib/src/main/scala/org/apache/spark/ml/feature/VectorAssembler.scala
index 4061154..ed3b36e 100644
--- a/mllib/src/main/scala/org/apache/spark/ml/feature/VectorAssembler.scala
+++ b/mllib/src/main/scala/org/apache/spark/ml/feature/VectorAssembler.scala
@@ -162,7 +162,7 @@ class VectorAssembler @Since("1.4.0") (@Since("1.4.0") override val uid: String)
schema(name).dataType match {
case _: NumericType | BooleanType => None
case t if t.isInstanceOf[VectorUDT] => None
- case other => Some(s"Data type $other of column $name is not supported.")
+ case other => Some(s"Data type ${other.simpleString} of column $name is not supported.")
}
}
if (incorrectColumns.nonEmpty) {
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/main/scala/org/apache/spark/ml/fpm/FPGrowth.scala
----------------------------------------------------------------------
diff --git a/mllib/src/main/scala/org/apache/spark/ml/fpm/FPGrowth.scala b/mllib/src/main/scala/org/apache/spark/ml/fpm/FPGrowth.scala
index d7fbe28..51b88b3 100644
--- a/mllib/src/main/scala/org/apache/spark/ml/fpm/FPGrowth.scala
+++ b/mllib/src/main/scala/org/apache/spark/ml/fpm/FPGrowth.scala
@@ -106,7 +106,7 @@ private[fpm] trait FPGrowthParams extends Params with HasPredictionCol {
protected def validateAndTransformSchema(schema: StructType): StructType = {
val inputType = schema($(itemsCol)).dataType
require(inputType.isInstanceOf[ArrayType],
- s"The input column must be ArrayType, but got $inputType.")
+ s"The input column must be ${ArrayType.simpleString}, but got ${inputType.simpleString}.")
SchemaUtils.appendColumn(schema, $(predictionCol), schema($(itemsCol)).dataType)
}
}
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/main/scala/org/apache/spark/ml/util/SchemaUtils.scala
----------------------------------------------------------------------
diff --git a/mllib/src/main/scala/org/apache/spark/ml/util/SchemaUtils.scala b/mllib/src/main/scala/org/apache/spark/ml/util/SchemaUtils.scala
index d9a3f85..b500582 100644
--- a/mllib/src/main/scala/org/apache/spark/ml/util/SchemaUtils.scala
+++ b/mllib/src/main/scala/org/apache/spark/ml/util/SchemaUtils.scala
@@ -41,7 +41,8 @@ private[spark] object SchemaUtils {
val actualDataType = schema(colName).dataType
val message = if (msg != null && msg.trim.length > 0) " " + msg else ""
require(actualDataType.equals(dataType),
- s"Column $colName must be of type $dataType but was actually $actualDataType.$message")
+ s"Column $colName must be of type ${dataType.simpleString} but was actually " +
+ s"${actualDataType.simpleString}.$message")
}
/**
@@ -58,7 +59,8 @@ private[spark] object SchemaUtils {
val message = if (msg != null && msg.trim.length > 0) " " + msg else ""
require(dataTypes.exists(actualDataType.equals),
s"Column $colName must be of type equal to one of the following types: " +
- s"${dataTypes.mkString("[", ", ", "]")} but was actually of type $actualDataType.$message")
+ s"${dataTypes.map(_.simpleString).mkString("[", ", ", "]")} but was actually of type " +
+ s"${actualDataType.simpleString}.$message")
}
/**
@@ -71,8 +73,9 @@ private[spark] object SchemaUtils {
msg: String = ""): Unit = {
val actualDataType = schema(colName).dataType
val message = if (msg != null && msg.trim.length > 0) " " + msg else ""
- require(actualDataType.isInstanceOf[NumericType], s"Column $colName must be of type " +
- s"NumericType but was actually of type $actualDataType.$message")
+ require(actualDataType.isInstanceOf[NumericType],
+ s"Column $colName must be of type ${NumericType.simpleString} but was actually of type " +
+ s"${actualDataType.simpleString}.$message")
}
/**
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/test/scala/org/apache/spark/ml/evaluation/BinaryClassificationEvaluatorSuite.scala
----------------------------------------------------------------------
diff --git a/mllib/src/test/scala/org/apache/spark/ml/evaluation/BinaryClassificationEvaluatorSuite.scala b/mllib/src/test/scala/org/apache/spark/ml/evaluation/BinaryClassificationEvaluatorSuite.scala
index ede2847..2b0909a 100644
--- a/mllib/src/test/scala/org/apache/spark/ml/evaluation/BinaryClassificationEvaluatorSuite.scala
+++ b/mllib/src/test/scala/org/apache/spark/ml/evaluation/BinaryClassificationEvaluatorSuite.scala
@@ -67,8 +67,8 @@ class BinaryClassificationEvaluatorSuite
evaluator.evaluate(stringDF)
}
assert(thrown.getMessage.replace("\n", "") contains "Column rawPrediction must be of type " +
- "equal to one of the following types: [DoubleType, ")
- assert(thrown.getMessage.replace("\n", "") contains "but was actually of type StringType.")
+ "equal to one of the following types: [double, ")
+ assert(thrown.getMessage.replace("\n", "") contains "but was actually of type string.")
}
test("should support all NumericType labels and not support other types") {
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/test/scala/org/apache/spark/ml/feature/RFormulaSuite.scala
----------------------------------------------------------------------
diff --git a/mllib/src/test/scala/org/apache/spark/ml/feature/RFormulaSuite.scala b/mllib/src/test/scala/org/apache/spark/ml/feature/RFormulaSuite.scala
index a250331..0de6528 100644
--- a/mllib/src/test/scala/org/apache/spark/ml/feature/RFormulaSuite.scala
+++ b/mllib/src/test/scala/org/apache/spark/ml/feature/RFormulaSuite.scala
@@ -105,7 +105,7 @@ class RFormulaSuite extends MLTest with DefaultReadWriteTest {
testTransformerByInterceptingException[(Int, Boolean)](
original,
model,
- "Label column already exists and is not of type NumericType.",
+ "Label column already exists and is not of type numeric.",
"x")
}
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/test/scala/org/apache/spark/ml/feature/VectorAssemblerSuite.scala
----------------------------------------------------------------------
diff --git a/mllib/src/test/scala/org/apache/spark/ml/feature/VectorAssemblerSuite.scala b/mllib/src/test/scala/org/apache/spark/ml/feature/VectorAssemblerSuite.scala
index 91fb24a..ed15a1d 100644
--- a/mllib/src/test/scala/org/apache/spark/ml/feature/VectorAssemblerSuite.scala
+++ b/mllib/src/test/scala/org/apache/spark/ml/feature/VectorAssemblerSuite.scala
@@ -99,9 +99,9 @@ class VectorAssemblerSuite
assembler.transform(df)
}
assert(thrown.getMessage contains
- "Data type StringType of column a is not supported.\n" +
- "Data type StringType of column b is not supported.\n" +
- "Data type StringType of column c is not supported.")
+ "Data type string of column a is not supported.\n" +
+ "Data type string of column b is not supported.\n" +
+ "Data type string of column c is not supported.")
}
test("ML attributes") {
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/test/scala/org/apache/spark/ml/recommendation/ALSSuite.scala
----------------------------------------------------------------------
diff --git a/mllib/src/test/scala/org/apache/spark/ml/recommendation/ALSSuite.scala b/mllib/src/test/scala/org/apache/spark/ml/recommendation/ALSSuite.scala
index e3dfe2f..65bee4e 100644
--- a/mllib/src/test/scala/org/apache/spark/ml/recommendation/ALSSuite.scala
+++ b/mllib/src/test/scala/org/apache/spark/ml/recommendation/ALSSuite.scala
@@ -612,7 +612,7 @@ class ALSSuite extends MLTest with DefaultReadWriteTest with Logging {
estimator.fit(strDF)
}
assert(thrown.getMessage.contains(
- s"$column must be of type NumericType but was actually of type StringType"))
+ s"$column must be of type numeric but was actually of type string"))
}
private class NumericTypeWithEncoder[A](val numericType: NumericType)
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/test/scala/org/apache/spark/ml/regression/AFTSurvivalRegressionSuite.scala
----------------------------------------------------------------------
diff --git a/mllib/src/test/scala/org/apache/spark/ml/regression/AFTSurvivalRegressionSuite.scala b/mllib/src/test/scala/org/apache/spark/ml/regression/AFTSurvivalRegressionSuite.scala
index 4e4ff71..6cc73e0 100644
--- a/mllib/src/test/scala/org/apache/spark/ml/regression/AFTSurvivalRegressionSuite.scala
+++ b/mllib/src/test/scala/org/apache/spark/ml/regression/AFTSurvivalRegressionSuite.scala
@@ -385,7 +385,7 @@ class AFTSurvivalRegressionSuite extends MLTest with DefaultReadWriteTest {
aft.fit(dfWithStringCensors)
}
assert(thrown.getMessage.contains(
- "Column censor must be of type NumericType but was actually of type StringType"))
+ "Column censor must be of type numeric but was actually of type string"))
}
test("numerical stability of standardization") {
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/mllib/src/test/scala/org/apache/spark/ml/util/MLTestingUtils.scala
----------------------------------------------------------------------
diff --git a/mllib/src/test/scala/org/apache/spark/ml/util/MLTestingUtils.scala b/mllib/src/test/scala/org/apache/spark/ml/util/MLTestingUtils.scala
index 5e72b4d..91a8b14 100644
--- a/mllib/src/test/scala/org/apache/spark/ml/util/MLTestingUtils.scala
+++ b/mllib/src/test/scala/org/apache/spark/ml/util/MLTestingUtils.scala
@@ -74,7 +74,7 @@ object MLTestingUtils extends SparkFunSuite {
estimator.fit(dfWithStringLabels)
}
assert(thrown.getMessage.contains(
- "Column label must be of type NumericType but was actually of type StringType"))
+ "Column label must be of type numeric but was actually of type string"))
estimator match {
case weighted: Estimator[M] with HasWeightCol =>
@@ -86,7 +86,7 @@ object MLTestingUtils extends SparkFunSuite {
weighted.fit(dfWithStringWeights)
}
assert(thrown.getMessage.contains(
- "Column weight must be of type NumericType but was actually of type StringType"))
+ "Column weight must be of type numeric but was actually of type string"))
case _ =>
}
}
@@ -104,7 +104,7 @@ object MLTestingUtils extends SparkFunSuite {
evaluator.evaluate(dfWithStringLabels)
}
assert(thrown.getMessage.contains(
- "Column label must be of type NumericType but was actually of type StringType"))
+ "Column label must be of type numeric but was actually of type string"))
}
def genClassifDFWithNumericLabelCol(
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeCreator.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeCreator.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeCreator.scala
index 0a5f8a9..cf0e376 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeCreator.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeCreator.scala
@@ -385,8 +385,8 @@ trait CreateNamedStructLike extends Expression {
val invalidNames = nameExprs.filterNot(e => e.foldable && e.dataType == StringType)
if (invalidNames.nonEmpty) {
TypeCheckResult.TypeCheckFailure(
- "Only foldable StringType expressions are allowed to appear at odd position, got:" +
- s" ${invalidNames.mkString(",")}")
+ s"Only foldable ${StringType.simpleString} expressions are allowed to appear at odd" +
+ s" position, got: ${invalidNames.mkString(",")}")
} else if (!names.contains(null)) {
TypeCheckResult.TypeCheckSuccess
} else {
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/jsonExpressions.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/jsonExpressions.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/jsonExpressions.scala
index 8cd8605..1bcf11d 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/jsonExpressions.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/jsonExpressions.scala
@@ -796,7 +796,7 @@ object JsonExprUtils {
}
case m: CreateMap =>
throw new AnalysisException(
- s"A type of keys and values in map() must be string, but got ${m.dataType}")
+ s"A type of keys and values in map() must be string, but got ${m.dataType.simpleString}")
case _ =>
throw new AnalysisException("Must use a map() function for options")
}
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringExpressions.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringExpressions.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringExpressions.scala
index bedad7d..70dd4df 100755
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringExpressions.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/stringExpressions.scala
@@ -222,11 +222,12 @@ case class Elt(children: Seq[Expression]) extends Expression {
val (indexType, inputTypes) = (indexExpr.dataType, inputExprs.map(_.dataType))
if (indexType != IntegerType) {
return TypeCheckResult.TypeCheckFailure(s"first input to function $prettyName should " +
- s"have IntegerType, but it's $indexType")
+ s"have ${IntegerType.simpleString}, but it's ${indexType.simpleString}")
}
if (inputTypes.exists(tpe => !Seq(StringType, BinaryType).contains(tpe))) {
return TypeCheckResult.TypeCheckFailure(
- s"input to function $prettyName should have StringType or BinaryType, but it's " +
+ s"input to function $prettyName should have ${StringType.simpleString} or " +
+ s"${BinaryType.simpleString}, but it's " +
inputTypes.map(_.simpleString).mkString("[", ", ", "]"))
}
TypeUtils.checkForSameTypeInputExpr(inputTypes, s"function $prettyName")
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JacksonGenerator.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JacksonGenerator.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JacksonGenerator.scala
index 9c413de..00086ab 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JacksonGenerator.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JacksonGenerator.scala
@@ -45,8 +45,8 @@ private[sql] class JacksonGenerator(
// `JackGenerator` can only be initialized with a `StructType` or a `MapType`.
require(dataType.isInstanceOf[StructType] || dataType.isInstanceOf[MapType],
- "JacksonGenerator only supports to be initialized with a StructType " +
- s"or MapType but got ${dataType.simpleString}")
+ s"JacksonGenerator only supports to be initialized with a ${StructType.simpleString} " +
+ s"or ${MapType.simpleString} but got ${dataType.simpleString}")
// `ValueWriter`s for all fields of the schema
private lazy val rootFieldWriters: Array[ValueWriter] = dataType match {
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JacksonParser.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JacksonParser.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JacksonParser.scala
index c3a4ca8..aa1691b 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JacksonParser.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JacksonParser.scala
@@ -143,7 +143,8 @@ class JacksonParser(
case "NaN" => Float.NaN
case "Infinity" => Float.PositiveInfinity
case "-Infinity" => Float.NegativeInfinity
- case other => throw new RuntimeException(s"Cannot parse $other as FloatType.")
+ case other => throw new RuntimeException(
+ s"Cannot parse $other as ${FloatType.simpleString}.")
}
}
@@ -158,7 +159,8 @@ class JacksonParser(
case "NaN" => Double.NaN
case "Infinity" => Double.PositiveInfinity
case "-Infinity" => Double.NegativeInfinity
- case other => throw new RuntimeException(s"Cannot parse $other as DoubleType.")
+ case other =>
+ throw new RuntimeException(s"Cannot parse $other as ${DoubleType.simpleString}.")
}
}
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JsonInferSchema.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JsonInferSchema.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JsonInferSchema.scala
index 491ca00..5f70e06 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JsonInferSchema.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JsonInferSchema.scala
@@ -294,8 +294,10 @@ private[sql] object JsonInferSchema {
// Both fields1 and fields2 should be sorted by name, since inferField performs sorting.
// Therefore, we can take advantage of the fact that we're merging sorted lists and skip
// building a hash map or performing additional sorting.
- assert(isSorted(fields1), s"StructType's fields were not sorted: ${fields1.toSeq}")
- assert(isSorted(fields2), s"StructType's fields were not sorted: ${fields2.toSeq}")
+ assert(isSorted(fields1),
+ s"${StructType.simpleString}'s fields were not sorted: ${fields1.toSeq}")
+ assert(isSorted(fields2),
+ s"${StructType.simpleString}'s fields were not sorted: ${fields2.toSeq}")
val newFields = new java.util.ArrayList[StructField]()
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/TypeUtils.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/TypeUtils.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/TypeUtils.scala
index 1dcda49..a9aaf61 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/TypeUtils.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/TypeUtils.scala
@@ -29,7 +29,7 @@ object TypeUtils {
if (dt.isInstanceOf[NumericType] || dt == NullType) {
TypeCheckResult.TypeCheckSuccess
} else {
- TypeCheckResult.TypeCheckFailure(s"$caller requires numeric types, not $dt")
+ TypeCheckResult.TypeCheckFailure(s"$caller requires numeric types, not ${dt.simpleString}")
}
}
@@ -37,7 +37,8 @@ object TypeUtils {
if (RowOrdering.isOrderable(dt)) {
TypeCheckResult.TypeCheckSuccess
} else {
- TypeCheckResult.TypeCheckFailure(s"$caller does not support ordering on type $dt")
+ TypeCheckResult.TypeCheckFailure(
+ s"$caller does not support ordering on type ${dt.simpleString}")
}
}
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/main/scala/org/apache/spark/sql/types/AbstractDataType.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/types/AbstractDataType.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/types/AbstractDataType.scala
index 3041f44..c43cc74 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/types/AbstractDataType.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/types/AbstractDataType.scala
@@ -145,7 +145,7 @@ abstract class NumericType extends AtomicType {
}
-private[sql] object NumericType extends AbstractDataType {
+private[spark] object NumericType extends AbstractDataType {
/**
* Enables matching against NumericType for expressions:
* {{{
@@ -155,11 +155,12 @@ private[sql] object NumericType extends AbstractDataType {
*/
def unapply(e: Expression): Boolean = e.dataType.isInstanceOf[NumericType]
- override private[sql] def defaultConcreteType: DataType = DoubleType
+ override private[spark] def defaultConcreteType: DataType = DoubleType
- override private[sql] def simpleString: String = "numeric"
+ override private[spark] def simpleString: String = "numeric"
- override private[sql] def acceptsType(other: DataType): Boolean = other.isInstanceOf[NumericType]
+ override private[spark] def acceptsType(other: DataType): Boolean =
+ other.isInstanceOf[NumericType]
}
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/main/scala/org/apache/spark/sql/types/ArrayType.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/types/ArrayType.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/types/ArrayType.scala
index 38c4048..8f11862 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/types/ArrayType.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/types/ArrayType.scala
@@ -42,7 +42,7 @@ object ArrayType extends AbstractDataType {
other.isInstanceOf[ArrayType]
}
- override private[sql] def simpleString: String = "array"
+ override private[spark] def simpleString: String = "array"
}
/**
@@ -103,7 +103,8 @@ case class ArrayType(elementType: DataType, containsNull: Boolean) extends DataT
case a : ArrayType => a.interpretedOrdering.asInstanceOf[Ordering[Any]]
case s: StructType => s.interpretedOrdering.asInstanceOf[Ordering[Any]]
case other =>
- throw new IllegalArgumentException(s"Type $other does not support ordered operations")
+ throw new IllegalArgumentException(
+ s"Type ${other.simpleString} does not support ordered operations")
}
def compare(x: ArrayData, y: ArrayData): Int = {
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/main/scala/org/apache/spark/sql/types/DecimalType.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/types/DecimalType.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/types/DecimalType.scala
index dbf51c3..f780ffd 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/types/DecimalType.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/types/DecimalType.scala
@@ -48,7 +48,8 @@ case class DecimalType(precision: Int, scale: Int) extends FractionalType {
}
if (precision > DecimalType.MAX_PRECISION) {
- throw new AnalysisException(s"DecimalType can only support precision up to 38")
+ throw new AnalysisException(
+ s"${DecimalType.simpleString} can only support precision up to ${DecimalType.MAX_PRECISION}")
}
// default constructor for Java
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/main/scala/org/apache/spark/sql/types/ObjectType.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/types/ObjectType.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/types/ObjectType.scala
index 2d49fe0..203e85e 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/types/ObjectType.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/types/ObjectType.scala
@@ -24,7 +24,8 @@ import org.apache.spark.annotation.InterfaceStability
@InterfaceStability.Evolving
object ObjectType extends AbstractDataType {
override private[sql] def defaultConcreteType: DataType =
- throw new UnsupportedOperationException("null literals can't be casted to ObjectType")
+ throw new UnsupportedOperationException(
+ s"null literals can't be casted to ${ObjectType.simpleString}")
override private[sql] def acceptsType(other: DataType): Boolean = other match {
case ObjectType(_) => true
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/main/scala/org/apache/spark/sql/types/StructType.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/types/StructType.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/types/StructType.scala
index 362676b..0e69ef8 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/types/StructType.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/types/StructType.scala
@@ -426,7 +426,7 @@ object StructType extends AbstractDataType {
private[sql] def fromString(raw: String): StructType = {
Try(DataType.fromJson(raw)).getOrElse(LegacyTypeStringParser.parse(raw)) match {
case t: StructType => t
- case _ => throw new RuntimeException(s"Failed parsing StructType: $raw")
+ case _ => throw new RuntimeException(s"Failed parsing ${StructType.simpleString}: $raw")
}
}
@@ -528,7 +528,8 @@ object StructType extends AbstractDataType {
leftType
case _ =>
- throw new SparkException(s"Failed to merge incompatible data types $left and $right")
+ throw new SparkException(s"Failed to merge incompatible data types ${left.simpleString} " +
+ s"and ${right.simpleString}")
}
private[sql] def fieldsMap(fields: Array[StructField]): Map[String, StructField] = {
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisErrorSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisErrorSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisErrorSuite.scala
index 5d2f8e7..5e503be 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisErrorSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisErrorSuite.scala
@@ -514,7 +514,7 @@ class AnalysisErrorSuite extends AnalysisTest {
right,
joinType = Cross,
condition = Some('b === 'd))
- assertAnalysisError(plan2, "EqualTo does not support ordering on type MapType" :: Nil)
+ assertAnalysisError(plan2, "EqualTo does not support ordering on type map" :: Nil)
}
test("PredicateSubQuery is used outside of a filter") {
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/ExpressionTypeCheckingSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/ExpressionTypeCheckingSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/ExpressionTypeCheckingSuite.scala
index 36714bd..8eec148 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/ExpressionTypeCheckingSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/ExpressionTypeCheckingSuite.scala
@@ -109,17 +109,17 @@ class ExpressionTypeCheckingSuite extends SparkFunSuite {
assertErrorForDifferingTypes(GreaterThan('intField, 'booleanField))
assertErrorForDifferingTypes(GreaterThanOrEqual('intField, 'booleanField))
- assertError(EqualTo('mapField, 'mapField), "EqualTo does not support ordering on type MapType")
+ assertError(EqualTo('mapField, 'mapField), "EqualTo does not support ordering on type map")
assertError(EqualNullSafe('mapField, 'mapField),
- "EqualNullSafe does not support ordering on type MapType")
+ "EqualNullSafe does not support ordering on type map")
assertError(LessThan('mapField, 'mapField),
- "LessThan does not support ordering on type MapType")
+ "LessThan does not support ordering on type map")
assertError(LessThanOrEqual('mapField, 'mapField),
- "LessThanOrEqual does not support ordering on type MapType")
+ "LessThanOrEqual does not support ordering on type map")
assertError(GreaterThan('mapField, 'mapField),
- "GreaterThan does not support ordering on type MapType")
+ "GreaterThan does not support ordering on type map")
assertError(GreaterThanOrEqual('mapField, 'mapField),
- "GreaterThanOrEqual does not support ordering on type MapType")
+ "GreaterThanOrEqual does not support ordering on type map")
assertError(If('intField, 'stringField, 'stringField),
"type of predicate expression in If should be boolean")
@@ -169,10 +169,10 @@ class ExpressionTypeCheckingSuite extends SparkFunSuite {
CreateNamedStruct(Seq("a", "b", 2.0)), "even number of arguments")
assertError(
CreateNamedStruct(Seq(1, "a", "b", 2.0)),
- "Only foldable StringType expressions are allowed to appear at odd position")
+ "Only foldable string expressions are allowed to appear at odd position")
assertError(
CreateNamedStruct(Seq('a.string.at(0), "a", "b", 2.0)),
- "Only foldable StringType expressions are allowed to appear at odd position")
+ "Only foldable string expressions are allowed to appear at odd position")
assertError(
CreateNamedStruct(Seq(Literal.create(null, StringType), "a")),
"Field name should not be null")
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ExpressionParserSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ExpressionParserSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ExpressionParserSuite.scala
index cb8a1fe..b4d422d 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ExpressionParserSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ExpressionParserSuite.scala
@@ -469,7 +469,7 @@ class ExpressionParserSuite extends PlanTest {
Literal(BigDecimal("90912830918230182310293801923652346786").underlying()))
assertEqual("123.0E-28BD", Literal(BigDecimal("123.0E-28").underlying()))
assertEqual("123.08BD", Literal(BigDecimal("123.08").underlying()))
- intercept("1.20E-38BD", "DecimalType can only support precision up to 38")
+ intercept("1.20E-38BD", "decimal can only support precision up to 38")
}
test("strings") {
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/catalyst/src/test/scala/org/apache/spark/sql/types/DataTypeSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/types/DataTypeSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/types/DataTypeSuite.scala
index 5a86f40..fccd057 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/types/DataTypeSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/types/DataTypeSuite.scala
@@ -154,7 +154,7 @@ class DataTypeSuite extends SparkFunSuite {
left.merge(right)
}.getMessage
assert(message.equals("Failed to merge fields 'b' and 'b'. " +
- "Failed to merge incompatible data types FloatType and LongType"))
+ "Failed to merge incompatible data types float and bigint"))
}
test("existsRecursively") {
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/core/src/main/java/org/apache/spark/sql/execution/datasources/parquet/VectorizedColumnReader.java
----------------------------------------------------------------------
diff --git a/sql/core/src/main/java/org/apache/spark/sql/execution/datasources/parquet/VectorizedColumnReader.java b/sql/core/src/main/java/org/apache/spark/sql/execution/datasources/parquet/VectorizedColumnReader.java
index d5969b5..060e2ec 100644
--- a/sql/core/src/main/java/org/apache/spark/sql/execution/datasources/parquet/VectorizedColumnReader.java
+++ b/sql/core/src/main/java/org/apache/spark/sql/execution/datasources/parquet/VectorizedColumnReader.java
@@ -244,7 +244,7 @@ public class VectorizedColumnReader {
return new SchemaColumnConvertNotSupportedException(
Arrays.toString(descriptor.getPath()),
descriptor.getType().toString(),
- column.dataType().toString());
+ column.dataType().simpleString());
}
/**
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/core/src/main/scala/org/apache/spark/sql/RelationalGroupedDataset.scala
----------------------------------------------------------------------
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/RelationalGroupedDataset.scala b/sql/core/src/main/scala/org/apache/spark/sql/RelationalGroupedDataset.scala
index c6449cd..b068493 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/RelationalGroupedDataset.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/RelationalGroupedDataset.scala
@@ -452,7 +452,7 @@ class RelationalGroupedDataset protected[sql](
require(expr.evalType == PythonEvalType.SQL_GROUPED_MAP_PANDAS_UDF,
"Must pass a grouped map udf")
require(expr.dataType.isInstanceOf[StructType],
- "The returnType of the udf must be a StructType")
+ s"The returnType of the udf must be a ${StructType.simpleString}")
val groupingNamedExpressions = groupingExprs.map {
case ne: NamedExpression => ne
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/core/src/main/scala/org/apache/spark/sql/execution/arrow/ArrowUtils.scala
----------------------------------------------------------------------
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/arrow/ArrowUtils.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/arrow/ArrowUtils.scala
index 93c8127..1274abf 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/execution/arrow/ArrowUtils.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/arrow/ArrowUtils.scala
@@ -47,7 +47,8 @@ object ArrowUtils {
case DateType => new ArrowType.Date(DateUnit.DAY)
case TimestampType =>
if (timeZoneId == null) {
- throw new UnsupportedOperationException("TimestampType must supply timeZoneId parameter")
+ throw new UnsupportedOperationException(
+ s"${TimestampType.simpleString} must supply timeZoneId parameter")
} else {
new ArrowType.Timestamp(TimeUnit.MICROSECOND, timeZoneId)
}
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/orc/OrcFilters.scala
----------------------------------------------------------------------
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/orc/OrcFilters.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/orc/OrcFilters.scala
index 4f44ae4..c90328f 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/orc/OrcFilters.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/orc/OrcFilters.scala
@@ -98,7 +98,7 @@ private[orc] object OrcFilters {
case DateType => PredicateLeaf.Type.DATE
case TimestampType => PredicateLeaf.Type.TIMESTAMP
case _: DecimalType => PredicateLeaf.Type.DECIMAL
- case _ => throw new UnsupportedOperationException(s"DataType: $dataType")
+ case _ => throw new UnsupportedOperationException(s"DataType: ${dataType.simpleString}")
}
/**
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetSchemaConverter.scala
----------------------------------------------------------------------
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetSchemaConverter.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetSchemaConverter.scala
index c61be07..18decad 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetSchemaConverter.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetSchemaConverter.scala
@@ -555,7 +555,7 @@ class SparkToParquetSchemaConverter(
convertField(field.copy(dataType = udt.sqlType))
case _ =>
- throw new AnalysisException(s"Unsupported data type $field.dataType")
+ throw new AnalysisException(s"Unsupported data type ${field.dataType.simpleString}")
}
}
}
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/core/src/main/scala/org/apache/spark/sql/execution/stat/StatFunctions.scala
----------------------------------------------------------------------
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/stat/StatFunctions.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/stat/StatFunctions.scala
index 685d584..f772a33 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/execution/stat/StatFunctions.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/stat/StatFunctions.scala
@@ -157,7 +157,7 @@ object StatFunctions extends Logging {
cols.map(name => (name, df.schema.fields.find(_.name == name))).foreach { case (name, data) =>
require(data.nonEmpty, s"Couldn't find column with name $name")
require(data.get.dataType.isInstanceOf[NumericType], s"Currently $functionName calculation " +
- s"for columns with dataType ${data.get.dataType} not supported.")
+ s"for columns with dataType ${data.get.dataType.simpleString} not supported.")
}
val columns = cols.map(n => Column(Cast(Column(n).expr, DoubleType)))
df.select(columns: _*).queryExecution.toRdd.treeAggregate(new CovarianceCounter)(
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/core/src/test/resources/sql-tests/results/json-functions.sql.out
----------------------------------------------------------------------
diff --git a/sql/core/src/test/resources/sql-tests/results/json-functions.sql.out b/sql/core/src/test/resources/sql-tests/results/json-functions.sql.out
index 3d49323..827931d 100644
--- a/sql/core/src/test/resources/sql-tests/results/json-functions.sql.out
+++ b/sql/core/src/test/resources/sql-tests/results/json-functions.sql.out
@@ -120,7 +120,7 @@ select to_json(named_struct('a', 1, 'b', 2), map('mode', 1))
struct<>
-- !query 11 output
org.apache.spark.sql.AnalysisException
-A type of keys and values in map() must be string, but got MapType(StringType,IntegerType,false);; line 1 pos 7
+A type of keys and values in map() must be string, but got map<string,int>;; line 1 pos 7
-- !query 12
@@ -216,7 +216,7 @@ select from_json('{"a":1}', 'a INT', map('mode', 1))
struct<>
-- !query 20 output
org.apache.spark.sql.AnalysisException
-A type of keys and values in map() must be string, but got MapType(StringType,IntegerType,false);; line 1 pos 7
+A type of keys and values in map() must be string, but got map<string,int>;; line 1 pos 7
-- !query 21
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/core/src/test/resources/sql-tests/results/literals.sql.out
----------------------------------------------------------------------
diff --git a/sql/core/src/test/resources/sql-tests/results/literals.sql.out b/sql/core/src/test/resources/sql-tests/results/literals.sql.out
index b8c91dc..7f30161 100644
--- a/sql/core/src/test/resources/sql-tests/results/literals.sql.out
+++ b/sql/core/src/test/resources/sql-tests/results/literals.sql.out
@@ -147,7 +147,7 @@ struct<>
-- !query 15 output
org.apache.spark.sql.catalyst.parser.ParseException
-DecimalType can only support precision up to 38
+decimal can only support precision up to 38
== SQL ==
select 1234567890123456789012345678901234567890
@@ -159,7 +159,7 @@ struct<>
-- !query 16 output
org.apache.spark.sql.catalyst.parser.ParseException
-DecimalType can only support precision up to 38
+decimal can only support precision up to 38
== SQL ==
select 1234567890123456789012345678901234567890.0
@@ -379,7 +379,7 @@ struct<>
-- !query 39 output
org.apache.spark.sql.catalyst.parser.ParseException
-DecimalType can only support precision up to 38(line 1, pos 7)
+decimal can only support precision up to 38(line 1, pos 7)
== SQL ==
select 1.20E-38BD
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetSchemaSuite.scala
----------------------------------------------------------------------
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetSchemaSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetSchemaSuite.scala
index 9d3dfae..368e52c 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetSchemaSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetSchemaSuite.scala
@@ -430,9 +430,9 @@ class ParquetSchemaSuite extends ParquetSchemaTest {
val col = spark.read.parquet(file).schema.fields.filter(_.name.equals("a"))
assert(col.length == 1)
if (col(0).dataType == StringType) {
- assert(errMsg.contains("Column: [a], Expected: IntegerType, Found: BINARY"))
+ assert(errMsg.contains("Column: [a], Expected: int, Found: BINARY"))
} else {
- assert(errMsg.endsWith("Column: [a], Expected: StringType, Found: INT32"))
+ assert(errMsg.endsWith("Column: [a], Expected: string, Found: INT32"))
}
}
}
http://git-wip-us.apache.org/repos/asf/spark/blob/1bd3d61f/sql/hive/src/main/scala/org/apache/spark/sql/hive/execution/HiveTableScanExec.scala
----------------------------------------------------------------------
diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/execution/HiveTableScanExec.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/execution/HiveTableScanExec.scala
index 7dcaf17..40be4e8 100644
--- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/execution/HiveTableScanExec.scala
+++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/execution/HiveTableScanExec.scala
@@ -78,9 +78,9 @@ case class HiveTableScanExec(
// Bind all partition key attribute references in the partition pruning predicate for later
// evaluation.
private lazy val boundPruningPred = partitionPruningPred.reduceLeftOption(And).map { pred =>
- require(
- pred.dataType == BooleanType,
- s"Data type of predicate $pred must be BooleanType rather than ${pred.dataType}.")
+ require(pred.dataType == BooleanType,
+ s"Data type of predicate $pred must be ${BooleanType.simpleString} rather than " +
+ s"${pred.dataType.simpleString}.")
BindReferences.bindReference(pred, relation.partitionCols)
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org