You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Zheng Shao (JIRA)" <ji...@apache.org> on 2009/05/29 07:28:45 UTC
[jira] Commented: (HIVE-522) GenericUDAF: Extend UDAF to deal with
complex types
[ https://issues.apache.org/jira/browse/HIVE-522?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12714300#action_12714300 ]
Zheng Shao commented on HIVE-522:
---------------------------------
Interface for GenericUDAF.
{code:java}
interface GenericUDAF {
enum {
/** Partial: from original data to partial aggregation data: iterate() and terminatePartial() will be called */
PARTIAL,
/** Merge: from partial aggregation to full aggregation: merge() and terminate() will be called */
MERGE,
/** Full: from original data directly to full aggregation: merge() and terminate() will be called */
FULL
} Mode;
/** Initialize the aggregation.
* @param m The mode of aggregation.
* @param parameters The ObjectInspector for the parameters:
* In PARTIAL and FULL mode, the parameters are original data;
* In MERGE mode, the parameters are just partial aggregations (in that case, the array will always have a single element).
* @return The ObjectInspector for the return value.
* In PARTIAL mode, the ObjectInspector for the return value of terminatePartial() call;
* In MERGE and FULL mode, the ObjectInspector for the return value of terminate() call.
*/
OI init(Mode m, ObjectInspector[] parameters);
/** Iterate through raw data.
* @param parameters The objects of parameters.
*/
void iterate(Object[] parameters);
/** Get partial aggregation result.
* @return partial aggregation result.
*/
Object terminatePartial();
/** Merge with partial aggregation result.
* @param partial The partial aggregation result.
*/
void merge(Object partial);
/** Get final aggregation result.
* @return final aggregation result.
*/
Object terminate();
};
{code}
> GenericUDAF: Extend UDAF to deal with complex types
> ---------------------------------------------------
>
> Key: HIVE-522
> URL: https://issues.apache.org/jira/browse/HIVE-522
> Project: Hadoop Hive
> Issue Type: New Feature
> Components: Query Processor
> Affects Versions: 0.4.0
> Reporter: Zheng Shao
> Assignee: Zheng Shao
>
> We can pass arbitrary arguments into GenericUDFs. We should do the same thing to GenericUDAF so that UDAF can also take arbitrary arguments.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.