[ 
https://issues.apache.org/jira/browse/HIVE-2541?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Chang reassigned HIVE-2541:
------------------------------------

    Assignee: Jonathan Chang
    
> Improve UDAF support for constant OI and better initialization
> --------------------------------------------------------------
>
>                 Key: HIVE-2541
>                 URL: https://issues.apache.org/jira/browse/HIVE-2541
>             Project: Hive
>          Issue Type: Improvement
>          Components: UDF
>            Reporter: Igor Kabiljo
>            Assignee: Jonathan Chang
>
> Currently, GenericUDAFs have only basic support for constant OIs - you can 
> have constant OI as input, and check it in getEvaluator and in init() for 
> mode where input is not partial, and that is all.
> For it to be fully useful, it would be great to have (not sure if this is 
> best as 3 separate tickets, or one):
>  - if output of terminate and terminatePartial is constantOI (or partially 
> constant OI, ie struct with some constant and some non-constant fields), 
> input of merge and next function should receive it as constant OI.
>  - add initUDAFArguments(GenericUDAFParameterInfo info) to 
> GenericUDAFEvaluator, that will be always called before init(Mode m, 
> ObjectInspector[] argOIs). That would allow you to access constant OI 
> information in all modes (currently in PARTIAL2 and FINAL modes it is not 
> possible). GenericUDAFEvaluator should have default empty implementation, so 
> that only classes that need that info can access it. 
>  - currently, when GenericUDAFEvaluator is returned by getEvaluator, all 
> initialization done there (in constructor or elsewhere), is removed by 
> serializing/deserializing it. (ie new instance of evaluator created by 
> calling no args constructor is used). It would be great if fields would not 
> be lost. This can be either achieved by fixing serialization/deserialization 
> to save all fields as well (if that is possible by XMLEncoder), or by 
> serializing/deserializing AbstractGenericUDAFResolver instead of Evaluator, 
> and then calling getEvaluator whenever Evaluator is needed.
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to