From 63a3d835119ace22a359af03c267451aa68cc570 Mon Sep 17 00:00:00 2001 From: Huaxin Gao Date: Mon, 7 Dec 2015 23:41:25 -0800 Subject: [PATCH] [SPARK-12270][SQL]remove empty space after getString from database --- .../spark/sql/execution/datasources/jdbc/JDBCRDD.scala | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JDBCRDD.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JDBCRDD.scala index 1c348ed62fc78..834a48c0d3dcb 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JDBCRDD.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JDBCRDD.scala @@ -422,7 +422,14 @@ private[sql] class JDBCRDD( case IntegerConversion => mutableRow.setInt(i, rs.getInt(pos)) case LongConversion => mutableRow.setLong(i, rs.getLong(pos)) // TODO(davies): use getBytes for better performance, if the encoding is UTF-8 - case StringConversion => mutableRow.update(i, UTF8String.fromString(rs.getString(pos))) + case StringConversion => + val s = rs.getString(pos) + if (s != null) { + mutableRow.update(i, UTF8String.fromString(rs.getString(pos).trim)) + } + else { + mutableRow.update(i, null) + } case TimestampConversion => val t = rs.getTimestamp(pos) if (t != null) {