[
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