diff options
author | Sun Rui <rui.sun@intel.com> | 2015-09-16 13:20:39 -0700 |
---|---|---|
committer | Shivaram Venkataraman <shivaram@cs.berkeley.edu> | 2015-09-16 13:20:39 -0700 |
commit | 896edb51ab7a88bbb31259e565311a9be6f2ca6d (patch) | |
tree | a21dd5c096fc1cacb309b7a5bf7ea342e0b4b4fe /sql | |
parent | 5dbaf3d3911bbfa003bc75459aaad66b4f6e0c67 (diff) | |
download | spark-896edb51ab7a88bbb31259e565311a9be6f2ca6d.tar.gz spark-896edb51ab7a88bbb31259e565311a9be6f2ca6d.tar.bz2 spark-896edb51ab7a88bbb31259e565311a9be6f2ca6d.zip |
[SPARK-10050] [SPARKR] Support collecting data of MapType in DataFrame.
1. Support collecting data of MapType from DataFrame.
2. Support data of MapType in createDataFrame.
Author: Sun Rui <rui.sun@intel.com>
Closes #8711 from sun-rui/SPARK-10050.
Diffstat (limited to 'sql')
-rw-r--r-- | sql/core/src/main/scala/org/apache/spark/sql/api/r/SQLUtils.scala | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/api/r/SQLUtils.scala b/sql/core/src/main/scala/org/apache/spark/sql/api/r/SQLUtils.scala index d4b834adb6..f45d119c8c 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/api/r/SQLUtils.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/api/r/SQLUtils.scala @@ -64,6 +64,12 @@ private[r] object SQLUtils { case r"\Aarray<(.*)${elemType}>\Z" => { org.apache.spark.sql.types.ArrayType(getSQLDataType(elemType)) } + case r"\Amap<(.*)${keyType},(.*)${valueType}>\Z" => { + if (keyType != "string" && keyType != "character") { + throw new IllegalArgumentException("Key type of a map must be string or character") + } + org.apache.spark.sql.types.MapType(getSQLDataType(keyType), getSQLDataType(valueType)) + } case _ => throw new IllegalArgumentException(s"Invaid type $dataType") } } |