Skip to content

Commit 205f17b

Browse files
committed
Make Hive UDF wrapper support Timestamp.
1 parent ac96d96 commit 205f17b

19 files changed

+17
-2
lines changed

sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveContext.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ class HiveContext(sc: SparkContext) extends SQLContext(sc) {
250250

251251
protected val primitiveTypes =
252252
Seq(StringType, IntegerType, LongType, DoubleType, FloatType, BooleanType, ByteType,
253-
ShortType, DecimalType)
253+
ShortType, DecimalType, TimestampType)
254254

255255
protected def toHiveString(a: (Any, DataType)): String = a match {
256256
case (struct: Row, StructType(fields)) =>

sql/hive/src/main/scala/org/apache/spark/sql/hive/hiveUdfs.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,8 @@ private[hive] case class HiveSimpleUdf(name: String, children: Seq[Expression])
187187
val primitiveClasses = Seq(
188188
Integer.TYPE, classOf[java.lang.Integer], classOf[java.lang.String], java.lang.Double.TYPE,
189189
classOf[java.lang.Double], java.lang.Long.TYPE, classOf[java.lang.Long],
190-
classOf[HiveDecimal], java.lang.Byte.TYPE, classOf[java.lang.Byte]
190+
classOf[HiveDecimal], java.lang.Byte.TYPE, classOf[java.lang.Byte],
191+
classOf[java.sql.Timestamp]
191192
)
192193
val matchingConstructor = argClass.getConstructors.find { c =>
193194
c.getParameterTypes.size == 1 && primitiveClasses.contains(c.getParameterTypes.head)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2011-05-06 07:08:09.1234567 2011-05-06 02:08:09.1234567
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2011-05-06 07:08:09.1234567 2011-05-06 02:08:09.1234567 2011-05-06 07:08:09.1234567 2011-05-06 02:08:09.1234567
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2011-05-06 07:08:09.1234567 2011-05-06 12:08:09.1234567
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2011-05-06 07:08:09.1234567 2011-05-06 12:08:09.1234567 2011-05-06 07:08:09.1234567 2011-05-06 12:08:09.1234567
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1304690889 2011 5 6 6 18 7 8 9 2011-05-06
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2011-05-11 2011-04-26
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0 3333 -3333
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2011-05-06 02:08:09.1234567

0 commit comments

Comments
 (0)