[ https://issues.apache.org/jira/browse/HIVE-309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12677428#action_12677428 ]
Richard Lee commented on HIVE-309: ---------------------------------- I guess it depends on how complex the syntax should be. I think I'd prefer to keep each function definition at one line. What do you think about this: udf.IDENTIFIER=FUNCTIONNAME,CLASSNAME[,OPERATORTYPE,[ISOPERATOR,[DISPLAYNAME]]] udaf.IDENTIFIER=FUNCTIONNAME,CLASSNAME[,ISOPERATOR,[DISPLAYNAME]] here, IDENTIFIER is only used to distinguish keys within the property file. FUNCTIONNAME is pulled into the value so that non-word characters can be used (otherwise defining operators would be less useful). The only two parts of the line that are required are FUNCTIONNAME and CLASSNAME. As an example: udf.logicaland=and,org.apache.hadoop.hive.ql.udf.UDFOPAnd,INFIX,true udf.doubleampersand=&&,org.apache.hadoop.hive.ql.udf.UDFOPAnd,INFIX,true,and for most other non-operator, PREFIX functions, you can simply say: udf.month=month,org.apache.hadoop.hive.ql.udf.UDFMonth > FunctionRegistry should allow loading UDFs and UDAFs from property file > ----------------------------------------------------------------------- > > Key: HIVE-309 > URL: https://issues.apache.org/jira/browse/HIVE-309 > Project: Hadoop Hive > Issue Type: Improvement > Components: Query Processor > Reporter: Richard Lee > Attachments: hive-external-functions.diff > > > FunctionRegistry.java hard code all UDF, UDAF definitions in a static > initializer. There is no way to add new functions without directly modifying > this file. > FunctionRegistry SHOULD look for a property file in which new functions and > their implementations can be specified. This will allow third parties to > extend hive without maintaining patches against the codebase. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.