diff options
author | Dongjoon Hyun <dongjoon@apache.org> | 2016-07-03 16:59:40 +0800 |
---|---|---|
committer | Wenchen Fan <wenchen@databricks.com> | 2016-07-03 16:59:40 +0800 |
commit | 54b27c1797fcd32b3f3e9d44e1a149ae396a61e6 (patch) | |
tree | 9d00060aa80e539659bbb8d202bfcddf628c885c /sql/core | |
parent | ea990f96930066c36055734d4f17eaf8e496eb3f (diff) | |
download | spark-54b27c1797fcd32b3f3e9d44e1a149ae396a61e6.tar.gz spark-54b27c1797fcd32b3f3e9d44e1a149ae396a61e6.tar.bz2 spark-54b27c1797fcd32b3f3e9d44e1a149ae396a61e6.zip |
[SPARK-16278][SPARK-16279][SQL] Implement map_keys/map_values SQL functions
## What changes were proposed in this pull request?
This PR adds `map_keys` and `map_values` SQL functions in order to remove Hive fallback.
## How was this patch tested?
Pass the Jenkins tests including new testcases.
Author: Dongjoon Hyun <dongjoon@apache.org>
Closes #13967 from dongjoon-hyun/SPARK-16278.
Diffstat (limited to 'sql/core')
-rw-r--r-- | sql/core/src/test/scala/org/apache/spark/sql/DataFrameFunctionsSuite.scala | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameFunctionsSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameFunctionsSuite.scala index 73d77651a0..0f6c49e759 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameFunctionsSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameFunctionsSuite.scala @@ -352,6 +352,22 @@ class DataFrameFunctionsSuite extends QueryTest with SharedSQLContext { ) } + test("map_keys/map_values function") { + val df = Seq( + (Map[Int, Int](1 -> 100, 2 -> 200), "x"), + (Map[Int, Int](), "y"), + (Map[Int, Int](1 -> 100, 2 -> 200, 3 -> 300), "z") + ).toDF("a", "b") + checkAnswer( + df.selectExpr("map_keys(a)"), + Seq(Row(Seq(1, 2)), Row(Seq.empty), Row(Seq(1, 2, 3))) + ) + checkAnswer( + df.selectExpr("map_values(a)"), + Seq(Row(Seq(100, 200)), Row(Seq.empty), Row(Seq(100, 200, 300))) + ) + } + test("array contains function") { val df = Seq( (Seq[Int](1, 2), "x"), |