Skip to content
This repository was archived by the owner on Jan 9, 2020. It is now read-only.

Commit 207107b

Browse files
author
Marcelo Vanzin
committed
[SPARK-18835][SQL] Don't expose Guava types in the JavaTypeInference API.
This avoids issues during maven tests because of shading. Author: Marcelo Vanzin <[email protected]> Closes apache#16260 from vanzin/SPARK-18835. (cherry picked from commit f280ccf) Signed-off-by: Marcelo Vanzin <[email protected]>
1 parent 9f0e3be commit 207107b

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/JavaTypeInference.scala

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package org.apache.spark.sql.catalyst
1919

2020
import java.beans.{Introspector, PropertyDescriptor}
2121
import java.lang.{Iterable => JIterable}
22+
import java.lang.reflect.Type
2223
import java.util.{Iterator => JIterator, List => JList, Map => JMap}
2324

2425
import scala.language.existentials
@@ -54,12 +55,21 @@ object JavaTypeInference {
5455
inferDataType(TypeToken.of(beanClass))
5556
}
5657

58+
/**
59+
* Infers the corresponding SQL data type of a Java type.
60+
* @param beanType Java type
61+
* @return (SQL data type, nullable)
62+
*/
63+
private[sql] def inferDataType(beanType: Type): (DataType, Boolean) = {
64+
inferDataType(TypeToken.of(beanType))
65+
}
66+
5767
/**
5868
* Infers the corresponding SQL data type of a Java type.
5969
* @param typeToken Java type
6070
* @return (SQL data type, nullable)
6171
*/
62-
private[sql] def inferDataType(typeToken: TypeToken[_]): (DataType, Boolean) = {
72+
private def inferDataType(typeToken: TypeToken[_]): (DataType, Boolean) = {
6373
typeToken.getRawType match {
6474
case c: Class[_] if c.isAnnotationPresent(classOf[SQLUserDefinedType]) =>
6575
(c.getAnnotation(classOf[SQLUserDefinedType]).udt().newInstance(), true)

sql/core/src/main/scala/org/apache/spark/sql/UDFRegistration.scala

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ import java.lang.reflect.{ParameterizedType, Type}
2323
import scala.reflect.runtime.universe.TypeTag
2424
import scala.util.Try
2525

26-
import com.google.common.reflect.TypeToken
27-
2826
import org.apache.spark.annotation.InterfaceStability
2927
import org.apache.spark.internal.Logging
3028
import org.apache.spark.sql.api.java._
@@ -446,7 +444,7 @@ class UDFRegistration private[sql] (functionRegistry: FunctionRegistry) extends
446444
val udfReturnType = udfInterfaces(0).getActualTypeArguments.last
447445
var returnType = returnDataType
448446
if (returnType == null) {
449-
returnType = JavaTypeInference.inferDataType(TypeToken.of(udfReturnType))._1
447+
returnType = JavaTypeInference.inferDataType(udfReturnType)._1
450448
}
451449

452450
udfInterfaces(0).getActualTypeArguments.length match {

0 commit comments

Comments
 (0)