Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
[SPARK-9269][SQL] Add Set type matching to ArrayConverter
  • Loading branch information
alexoss68 committed Jul 23, 2015
commit 040ce6550189932b71fc1023ec81ce8236dd675b
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ object CatalystTypeConverters {
scalaValue match {
case a: Array[_] => a.toSeq.map(elementConverter.toCatalyst)
case s: Seq[_] => s.map(elementConverter.toCatalyst)
case set: Set[_] => set.toSeq.map(elementConverter.toCatalyst)
case i: JavaIterable[_] =>
val iter = i.iterator
var convertedIterable: List[Any] = List()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,10 @@ class CatalystTypeConvertersSuite extends SparkFunSuite {
test("option handling in createToCatalystConverter") {
assert(CatalystTypeConverters.createToCatalystConverter(IntegerType)(Some(123)) === 123)
}

test("Set data in ArrayConverter") {
val convertToCatalyst = CatalystTypeConverters.createToCatalystConverter(ArrayType(StringType, containsNull = true))
val convertToScala = CatalystTypeConverters.createToScalaConverter(ArrayType(StringType, containsNull = true))
assert(convertToScala(convertToCatalyst(Some(Set("123", "124")))) === Seq("123", "124"))
}
}