You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "godfrey he (JIRA)" <ji...@apache.org> on 2017/01/19 03:21:26 UTC

[jira] [Created] (FLINK-5571) add open/close methods for UserDefinedFunction in TableAPI & SQL

godfrey he created FLINK-5571:
---------------------------------

             Summary: add open/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(val 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.4#6332)