[ 
https://issues.apache.org/jira/browse/FLINK-10689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16696605#comment-16696605
 ] 

ASF GitHub Bot commented on FLINK-10689:
----------------------------------------

twalthr commented on a change in pull request #7059: [FLINK-10689][table] Port 
UDFs in Table API extension points to flink-table-common
URL: https://github.com/apache/flink/pull/7059#discussion_r235888670
 
 

 ##########
 File path: 
flink-libraries/flink-table-common/src/main/java/org/apache/flink/table/functions/AggregateFunction.java
 ##########
 @@ -0,0 +1,143 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.table.functions;
+
+import org.apache.flink.api.common.typeinfo.TypeInformation;
+
+/**
+ * Base class for User-Defined Aggregates.
+ *
+ * <p>The behavior of an {@link AggregateFunction} can be defined by 
implementing a series of custom
+ * methods. An {@link AggregateFunction} needs at least three methods:
+ *  - createAccumulator,
+ *  - accumulate, and
+ *  - getValue.
+ *
+ * <p>There are a few other methods that can be optional to have:
+ *  - retract,
+ *  - merge, and
+ *  - resetAccumulator
+ *
+ * <p>All these methods must be declared publicly, not static and named 
exactly as the names
+ * mentioned above. The methods createAccumulator and getValue are defined in 
the
+ * {@link AggregateFunction} functions, while other methods are explained 
below.
+ *
+ * <p>Processes the input values and update the provided accumulator instance. 
The method
+ * accumulate can be overloaded with different custom types and arguments. An 
AggregateFunction
+ * requires at least one accumulate() method.
+ *
+ * {@code
+ * param accumulator           the accumulator which contains the current 
aggregated results
+ * param userDefinedInputs the input value (usually obtained from a new 
arrived data).
+ *
+ * def accumulate(accumulator: ACC, userDefinedInputs): Unit
 
 Review comment:
   Remove Scala code in all comments.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Port UDFs in Table API extension points to flink-table-common
> -------------------------------------------------------------
>
>                 Key: FLINK-10689
>                 URL: https://issues.apache.org/jira/browse/FLINK-10689
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Table API &amp; SQL
>            Reporter: Timo Walther
>            Assignee: xueyu
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.8.0
>
>
> After FLINK-10687 and FLINK-10688 have been resolved, we should also port the 
> remaining extension points of the Table API to flink-table-common. This 
> includes interfaces for UDFs and the external catalog interface.
> This ticket is for porting UDFs. This jira does NOT depend on FLINK-16088 so 
> it can be started at anytime.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to