[ https://issues.apache.org/jira/browse/FLINK-5571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15853889#comment-15853889 ]
ASF GitHub Bot commented on FLINK-5571: --------------------------------------- Github user godfreyhe commented on the issue: https://github.com/apache/flink/pull/3176 Hi @wuchong , thanks for this review. I think `UserDefinedScalarFunctionTest` is not enough, because `open` , `close` methods and job parameters are strongly depend on runtime, so it's better to test them in integration tests. I will add a test to verify Java ScalarFunction later. > add open and close methods for UserDefinedFunction in TableAPI & SQL > -------------------------------------------------------------------- > > Key: FLINK-5571 > URL: https://issues.apache.org/jira/browse/FLINK-5571 > Project: Flink > Issue Type: New Feature > Components: Table API & SQL > Reporter: godfrey he > Assignee: godfrey he > > Currently, a User Defined Function (UDF) in table API & SQL works on zero, > one, or multiple values in custom evaluation method. Many UDFs need more > complex features, e.g. report metrics, get parameters from job configuration, > or get extra data from distribute cache file, etc. Adding open and close > methods in UserDefinedFunction class can solve this problem. The code cloud > look like: > {code} > trait UserDefinedFunction { > def open(context: UDFContext): Unit = {} > def close(): Unit = {} > } > {code} > UDFContext contains the information about metric reporters, job parameters, > distribute cache, etc. The code cloud look like: > {code} > class UDFContext(context: RuntimeContext) { > def getMetricGroup: MetricGroup = ??? > def getDistributedCacheFile(name: String): File = ??? > def getJobParameter(key: String, default: String): String = ??? > } > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)