aboutsummaryrefslogtreecommitdiff
path: root/sql/core
diff options
context:
space:
mode:
authorDavies Liu <davies@databricks.com>2015-12-10 17:22:18 -0800
committerYin Huai <yhuai@databricks.com>2015-12-10 17:22:18 -0800
commitb1b4ee7f3541d92c8bc2b0b4fdadf46cfdb09504 (patch)
tree20c10ff56731a32a1b43c5e68e1f20ca77a95115 /sql/core
parent24d3357d66e14388faf8709b368edca70ea96432 (diff)
downloadspark-b1b4ee7f3541d92c8bc2b0b4fdadf46cfdb09504.tar.gz
spark-b1b4ee7f3541d92c8bc2b0b4fdadf46cfdb09504.tar.bz2
spark-b1b4ee7f3541d92c8bc2b0b4fdadf46cfdb09504.zip
[SPARK-12258][SQL] passing null into ScalaUDF
Check nullability and passing them into ScalaUDF. Closes #10249 Author: Davies Liu <davies@databricks.com> Closes #10259 from davies/udf_null.
Diffstat (limited to 'sql/core')
-rw-r--r--sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala9
1 files changed, 5 insertions, 4 deletions
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala
index 605a6549dd..8887dc68a5 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala
@@ -1138,14 +1138,15 @@ class DataFrameSuite extends QueryTest with SharedSQLContext {
}
test("SPARK-11725: correctly handle null inputs for ScalaUDF") {
- val df = Seq(
+ val df = sparkContext.parallelize(Seq(
new java.lang.Integer(22) -> "John",
- null.asInstanceOf[java.lang.Integer] -> "Lucy").toDF("age", "name")
+ null.asInstanceOf[java.lang.Integer] -> "Lucy")).toDF("age", "name")
+ // passing null into the UDF that could handle it
val boxedUDF = udf[java.lang.Integer, java.lang.Integer] {
- (i: java.lang.Integer) => if (i == null) null else i * 2
+ (i: java.lang.Integer) => if (i == null) -10 else i * 2
}
- checkAnswer(df.select(boxedUDF($"age")), Row(44) :: Row(null) :: Nil)
+ checkAnswer(df.select(boxedUDF($"age")), Row(44) :: Row(-10) :: Nil)
val primitiveUDF = udf((i: Int) => i * 2)
checkAnswer(df.select(primitiveUDF($"age")), Row(44) :: Row(null) :: Nil)