Github user cloud-fan commented on a diff in the pull request:
https://github.com/apache/spark/pull/17222#discussion_r115166927
--- Diff:
sql/core/src/main/scala/org/apache/spark/sql/UDFRegistration.scala ---
@@ -475,20 +475,42 @@ class UDFRegistration private[sql] (functionRegistry:
FunctionRegistry) extends
case 21 => register(name, udf.asInstanceOf[UDF20[_, _, _, _,
_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]], returnType)
case 22 => register(name, udf.asInstanceOf[UDF21[_, _, _, _,
_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]], returnType)
case 23 => register(name, udf.asInstanceOf[UDF22[_, _, _, _,
_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]], returnType)
- case n => logError(s"UDF class with ${n} type arguments is not
supported ")
+ case n =>
+ throw new IOException(s"UDF class with ${n} type arguments
is not supported.")
}
} catch {
case e @ (_: InstantiationException | _:
IllegalArgumentException) =>
- logError(s"Can not instantiate class ${className}, please make
sure it has public non argument constructor")
+ throw new IOException(s"Can not instantiate class
${className}, please make sure it has public non argument constructor")
}
}
} catch {
- case e: ClassNotFoundException => logError(s"Can not load class
${className}, please make sure it is on the classpath")
+ case e: ClassNotFoundException => throw new IOException(s"Can not
load class ${className}, please make sure it is on the classpath")
}
}
/**
+ * Register a Java UDAF class using reflection, for use from pyspark
+ *
+ * @param name UDAF name
+ * @param className fully qualified class name of UDAF
+ */
+ private[sql] def registerJavaUDAF(name: String, className: String): Unit
= {
--- End diff --
`registerJava` accepts an optional return type, if not given, spark will
try to infer it via reflection. do we really not need to do this for udaf?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]