Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
doujutun3207
flink
提交
7fd16039
F
flink
项目概览
doujutun3207
/
flink
与 Fork 源项目一致
从无法访问的项目Fork
通知
24
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
flink
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
7fd16039
编写于
12月 11, 2020
作者:
T
Timo Walther
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[FLINK-20522][table-planner-blink] Migrate InternalAggregateFunction to BuiltInAggregateFunction
上级
bd3bb365
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
64 addition
and
91 deletion
+64
-91
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/CollectAggFunction.java
...le/planner/functions/aggfunctions/CollectAggFunction.java
+6
-3
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueAggFunction.java
...planner/functions/aggfunctions/FirstValueAggFunction.java
+7
-3
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueWithRetractAggFunction.java
...ctions/aggfunctions/FirstValueWithRetractAggFunction.java
+5
-3
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/InternalAggregateFunction.java
...ner/functions/aggfunctions/InternalAggregateFunction.java
+0
-54
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueAggFunction.java
.../planner/functions/aggfunctions/LastValueAggFunction.java
+7
-3
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueWithRetractAggFunction.java
...nctions/aggfunctions/LastValueWithRetractAggFunction.java
+5
-3
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/ListAggWithRetractAggFunction.java
...functions/aggfunctions/ListAggWithRetractAggFunction.java
+5
-3
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/ListAggWsWithRetractAggFunction.java
...nctions/aggfunctions/ListAggWsWithRetractAggFunction.java
+7
-6
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/MaxWithRetractAggFunction.java
...ner/functions/aggfunctions/MaxWithRetractAggFunction.java
+6
-3
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/MinWithRetractAggFunction.java
...ner/functions/aggfunctions/MinWithRetractAggFunction.java
+6
-3
flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/planner/plan/utils/AggFunctionFactory.scala
...e/flink/table/planner/plan/utils/AggFunctionFactory.scala
+2
-1
flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/planner/plan/utils/AggregateUtil.scala
...apache/flink/table/planner/plan/utils/AggregateUtil.scala
+5
-4
flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/planner/plan/utils/PythonUtil.scala
...rg/apache/flink/table/planner/plan/utils/PythonUtil.scala
+3
-2
未找到文件。
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/CollectAggFunction.java
浏览文件 @
7fd16039
...
...
@@ -23,9 +23,12 @@ import org.apache.flink.table.api.DataTypes;
import
org.apache.flink.table.api.dataview.MapView
;
import
org.apache.flink.table.data.GenericMapData
;
import
org.apache.flink.table.data.MapData
;
import
org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction
;
import
org.apache.flink.table.types.DataType
;
import
org.apache.flink.table.types.logical.LogicalType
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
...
...
@@ -34,7 +37,7 @@ import static org.apache.flink.table.types.utils.DataTypeUtils.toInternalDataTyp
/** Built-in COLLECT aggregate function. */
@Internal
public
final
class
CollectAggFunction
<
T
>
extends
Internal
AggregateFunction
<
MapData
,
CollectAggFunction
.
CollectAccumulator
<
T
>>
{
extends
BuiltIn
AggregateFunction
<
MapData
,
CollectAggFunction
.
CollectAccumulator
<
T
>>
{
private
static
final
long
serialVersionUID
=
-
5860934997657147836L
;
...
...
@@ -49,8 +52,8 @@ public final class CollectAggFunction<T>
// --------------------------------------------------------------------------------------------
@Override
public
DataType
[]
getInpu
tDataTypes
()
{
return
new
DataType
[]
{
elementDataType
}
;
public
List
<
DataType
>
getArgumen
tDataTypes
()
{
return
Collections
.
singletonList
(
elementDataType
)
;
}
@Override
...
...
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueAggFunction.java
浏览文件 @
7fd16039
...
...
@@ -24,14 +24,18 @@ import org.apache.flink.table.data.GenericRowData;
import
org.apache.flink.table.data.RowData
;
import
org.apache.flink.table.data.StringData
;
import
org.apache.flink.table.data.binary.BinaryStringData
;
import
org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction
;
import
org.apache.flink.table.types.DataType
;
import
org.apache.flink.table.types.logical.LogicalType
;
import
java.util.Collections
;
import
java.util.List
;
import
static
org
.
apache
.
flink
.
table
.
types
.
utils
.
DataTypeUtils
.
toInternalDataType
;
/** Built-in FIRST_VALUE aggregate function. */
@Internal
public
final
class
FirstValueAggFunction
<
T
>
extends
Internal
AggregateFunction
<
T
,
RowData
>
{
public
final
class
FirstValueAggFunction
<
T
>
extends
BuiltIn
AggregateFunction
<
T
,
RowData
>
{
private
transient
DataType
valueDataType
;
...
...
@@ -44,8 +48,8 @@ public final class FirstValueAggFunction<T> extends InternalAggregateFunction<T,
// --------------------------------------------------------------------------------------------
@Override
public
DataType
[]
getInpu
tDataTypes
()
{
return
new
DataType
[]
{
valueDataType
}
;
public
List
<
DataType
>
getArgumen
tDataTypes
()
{
return
Collections
.
singletonList
(
valueDataType
)
;
}
@Override
...
...
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueWithRetractAggFunction.java
浏览文件 @
7fd16039
...
...
@@ -23,10 +23,12 @@ import org.apache.flink.table.api.DataTypes;
import
org.apache.flink.table.api.dataview.MapView
;
import
org.apache.flink.table.data.StringData
;
import
org.apache.flink.table.data.binary.BinaryStringData
;
import
org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction
;
import
org.apache.flink.table.types.DataType
;
import
org.apache.flink.table.types.logical.LogicalType
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Objects
;
...
...
@@ -36,7 +38,7 @@ import static org.apache.flink.table.types.utils.DataTypeUtils.toInternalDataTyp
/** Built-in FIRST_VALUE with retraction aggregate function. */
@Internal
public
final
class
FirstValueWithRetractAggFunction
<
T
>
extends
Internal
AggregateFunction
<
extends
BuiltIn
AggregateFunction
<
T
,
FirstValueWithRetractAggFunction
.
FirstValueWithRetractAccumulator
<
T
>>
{
private
transient
DataType
valueDataType
;
...
...
@@ -50,8 +52,8 @@ public final class FirstValueWithRetractAggFunction<T>
// --------------------------------------------------------------------------------------------
@Override
public
DataType
[]
getInpu
tDataTypes
()
{
return
new
DataType
[]
{
valueDataType
}
;
public
List
<
DataType
>
getArgumen
tDataTypes
()
{
return
Collections
.
singletonList
(
valueDataType
)
;
}
@Override
...
...
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/InternalAggregateFunction.java
已删除
100644 → 0
浏览文件 @
bd3bb365
/*
* 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.planner.functions.aggfunctions
;
import
org.apache.flink.annotation.Internal
;
import
org.apache.flink.table.catalog.DataTypeFactory
;
import
org.apache.flink.table.functions.AggregateFunction
;
import
org.apache.flink.table.planner.plan.utils.AggFunctionFactory
;
import
org.apache.flink.table.types.DataType
;
import
org.apache.flink.table.types.inference.TypeInference
;
import
static
org
.
apache
.
flink
.
table
.
types
.
inference
.
TypeStrategies
.
explicit
;
/**
* Base class for fully resolved and strongly typed {@link AggregateFunction}s provided by {@link
* AggFunctionFactory}.
*
* <p>We override {@link #getTypeInference(DataTypeFactory)} in case the internal function is used
* externally for testing.
*/
@Internal
public
abstract
class
InternalAggregateFunction
<
T
,
ACC
>
extends
AggregateFunction
<
T
,
ACC
>
{
public
abstract
DataType
[]
getInputDataTypes
();
public
abstract
DataType
getAccumulatorDataType
();
public
abstract
DataType
getOutputDataType
();
@Override
public
TypeInference
getTypeInference
(
DataTypeFactory
typeFactory
)
{
return
TypeInference
.
newBuilder
()
.
typedArguments
(
getInputDataTypes
())
.
accumulatorTypeStrategy
(
explicit
(
getAccumulatorDataType
()))
.
outputTypeStrategy
(
explicit
(
getOutputDataType
()))
.
build
();
}
}
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueAggFunction.java
浏览文件 @
7fd16039
...
...
@@ -24,14 +24,18 @@ import org.apache.flink.table.data.GenericRowData;
import
org.apache.flink.table.data.RowData
;
import
org.apache.flink.table.data.StringData
;
import
org.apache.flink.table.data.binary.BinaryStringData
;
import
org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction
;
import
org.apache.flink.table.types.DataType
;
import
org.apache.flink.table.types.logical.LogicalType
;
import
java.util.Collections
;
import
java.util.List
;
import
static
org
.
apache
.
flink
.
table
.
types
.
utils
.
DataTypeUtils
.
toInternalDataType
;
/** Built-in LAST_VALUE aggregate function. */
@Internal
public
final
class
LastValueAggFunction
<
T
>
extends
Internal
AggregateFunction
<
T
,
RowData
>
{
public
final
class
LastValueAggFunction
<
T
>
extends
BuiltIn
AggregateFunction
<
T
,
RowData
>
{
private
transient
DataType
valueDataType
;
...
...
@@ -44,8 +48,8 @@ public final class LastValueAggFunction<T> extends InternalAggregateFunction<T,
// --------------------------------------------------------------------------------------------
@Override
public
DataType
[]
getInpu
tDataTypes
()
{
return
new
DataType
[]
{
valueDataType
}
;
public
List
<
DataType
>
getArgumen
tDataTypes
()
{
return
Collections
.
singletonList
(
valueDataType
)
;
}
@Override
...
...
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueWithRetractAggFunction.java
浏览文件 @
7fd16039
...
...
@@ -23,10 +23,12 @@ import org.apache.flink.table.api.DataTypes;
import
org.apache.flink.table.api.dataview.MapView
;
import
org.apache.flink.table.data.StringData
;
import
org.apache.flink.table.data.binary.BinaryStringData
;
import
org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction
;
import
org.apache.flink.table.types.DataType
;
import
org.apache.flink.table.types.logical.LogicalType
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Objects
;
...
...
@@ -36,7 +38,7 @@ import static org.apache.flink.table.types.utils.DataTypeUtils.toInternalDataTyp
/** Built-in LAST_VALUE with retraction aggregate function. */
@Internal
public
final
class
LastValueWithRetractAggFunction
<
T
>
extends
Internal
AggregateFunction
<
extends
BuiltIn
AggregateFunction
<
T
,
LastValueWithRetractAggFunction
.
LastValueWithRetractAccumulator
<
T
>>
{
private
transient
DataType
valueDataType
;
...
...
@@ -50,8 +52,8 @@ public final class LastValueWithRetractAggFunction<T>
// --------------------------------------------------------------------------------------------
@Override
public
DataType
[]
getInpu
tDataTypes
()
{
return
new
DataType
[]
{
valueDataType
}
;
public
List
<
DataType
>
getArgumen
tDataTypes
()
{
return
Collections
.
singletonList
(
valueDataType
)
;
}
@Override
...
...
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/ListAggWithRetractAggFunction.java
浏览文件 @
7fd16039
...
...
@@ -24,17 +24,19 @@ import org.apache.flink.table.api.dataview.ListView;
import
org.apache.flink.table.data.StringData
;
import
org.apache.flink.table.data.binary.BinaryStringData
;
import
org.apache.flink.table.data.binary.BinaryStringDataUtil
;
import
org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction
;
import
org.apache.flink.table.types.DataType
;
import
org.apache.flink.util.FlinkRuntimeException
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Objects
;
/** Built-in LISTAGG with retraction aggregate function. */
@Internal
public
final
class
ListAggWithRetractAggFunction
extends
Internal
AggregateFunction
<
extends
BuiltIn
AggregateFunction
<
StringData
,
ListAggWithRetractAggFunction
.
ListAggWithRetractAccumulator
>
{
private
static
final
long
serialVersionUID
=
-
2836795091288790955L
;
...
...
@@ -46,8 +48,8 @@ public final class ListAggWithRetractAggFunction
// --------------------------------------------------------------------------------------------
@Override
public
DataType
[]
getInpu
tDataTypes
()
{
return
new
DataType
[]
{
DataTypes
.
STRING
().
bridgedTo
(
StringData
.
class
)}
;
public
List
<
DataType
>
getArgumen
tDataTypes
()
{
return
Collections
.
singletonList
(
DataTypes
.
STRING
().
bridgedTo
(
StringData
.
class
))
;
}
@Override
...
...
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/ListAggWsWithRetractAggFunction.java
浏览文件 @
7fd16039
...
...
@@ -24,17 +24,19 @@ import org.apache.flink.table.api.dataview.ListView;
import
org.apache.flink.table.data.StringData
;
import
org.apache.flink.table.data.binary.BinaryStringData
;
import
org.apache.flink.table.data.binary.BinaryStringDataUtil
;
import
org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction
;
import
org.apache.flink.table.types.DataType
;
import
org.apache.flink.util.FlinkRuntimeException
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Objects
;
/** Built-in LISTAGGWS with retraction aggregate function. */
@Internal
public
final
class
ListAggWsWithRetractAggFunction
extends
Internal
AggregateFunction
<
extends
BuiltIn
AggregateFunction
<
StringData
,
ListAggWsWithRetractAggFunction
.
ListAggWsWithRetractAccumulator
>
{
private
static
final
long
serialVersionUID
=
-
8627988150350160473L
;
...
...
@@ -44,11 +46,10 @@ public final class ListAggWsWithRetractAggFunction
// --------------------------------------------------------------------------------------------
@Override
public
DataType
[]
getInputDataTypes
()
{
return
new
DataType
[]
{
DataTypes
.
STRING
().
bridgedTo
(
StringData
.
class
),
DataTypes
.
STRING
().
bridgedTo
(
StringData
.
class
)
};
public
List
<
DataType
>
getArgumentDataTypes
()
{
return
Arrays
.
asList
(
DataTypes
.
STRING
().
bridgedTo
(
StringData
.
class
),
DataTypes
.
STRING
().
bridgedTo
(
StringData
.
class
));
}
@Override
...
...
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/MaxWithRetractAggFunction.java
浏览文件 @
7fd16039
...
...
@@ -21,9 +21,12 @@ package org.apache.flink.table.planner.functions.aggfunctions;
import
org.apache.flink.annotation.Internal
;
import
org.apache.flink.table.api.DataTypes
;
import
org.apache.flink.table.api.dataview.MapView
;
import
org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction
;
import
org.apache.flink.table.types.DataType
;
import
org.apache.flink.table.types.logical.LogicalType
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
...
...
@@ -32,7 +35,7 @@ import static org.apache.flink.table.types.utils.DataTypeUtils.toInternalDataTyp
/** Built-in MAX with retraction aggregate function. */
@Internal
public
final
class
MaxWithRetractAggFunction
<
T
extends
Comparable
<
T
>>
extends
Internal
AggregateFunction
<
extends
BuiltIn
AggregateFunction
<
T
,
MaxWithRetractAggFunction
.
MaxWithRetractAccumulator
<
T
>>
{
private
static
final
long
serialVersionUID
=
-
5860934997657147836L
;
...
...
@@ -48,8 +51,8 @@ public final class MaxWithRetractAggFunction<T extends Comparable<T>>
// --------------------------------------------------------------------------------------------
@Override
public
DataType
[]
getInpu
tDataTypes
()
{
return
new
DataType
[]
{
valueDataType
}
;
public
List
<
DataType
>
getArgumen
tDataTypes
()
{
return
Collections
.
singletonList
(
valueDataType
)
;
}
@Override
...
...
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/planner/functions/aggfunctions/MinWithRetractAggFunction.java
浏览文件 @
7fd16039
...
...
@@ -21,9 +21,12 @@ package org.apache.flink.table.planner.functions.aggfunctions;
import
org.apache.flink.annotation.Internal
;
import
org.apache.flink.table.api.DataTypes
;
import
org.apache.flink.table.api.dataview.MapView
;
import
org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction
;
import
org.apache.flink.table.types.DataType
;
import
org.apache.flink.table.types.logical.LogicalType
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
...
...
@@ -32,7 +35,7 @@ import static org.apache.flink.table.types.utils.DataTypeUtils.toInternalDataTyp
/** Built-in MIN with retraction aggregate function. */
@Internal
public
final
class
MinWithRetractAggFunction
<
T
extends
Comparable
<
T
>>
extends
Internal
AggregateFunction
<
extends
BuiltIn
AggregateFunction
<
T
,
MinWithRetractAggFunction
.
MinWithRetractAccumulator
<
T
>>
{
private
static
final
long
serialVersionUID
=
4253774292802374843L
;
...
...
@@ -48,8 +51,8 @@ public final class MinWithRetractAggFunction<T extends Comparable<T>>
// --------------------------------------------------------------------------------------------
@Override
public
DataType
[]
getInpu
tDataTypes
()
{
return
new
DataType
[]
{
valueDataType
}
;
public
List
<
DataType
>
getArgumen
tDataTypes
()
{
return
Collections
.
singletonList
(
valueDataType
)
;
}
@Override
...
...
flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/planner/plan/utils/AggFunctionFactory.scala
浏览文件 @
7fd16039
...
...
@@ -28,6 +28,7 @@ import org.apache.flink.table.planner.functions.aggfunctions._
import
org.apache.flink.table.planner.functions.bridging.BridgingSqlAggFunction
import
org.apache.flink.table.planner.functions.sql.
{
SqlFirstLastValueAggFunction
,
SqlListAggFunction
}
import
org.apache.flink.table.planner.functions.utils.AggSqlFunction
import
org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction
import
org.apache.flink.table.types.logical.LogicalTypeRoot._
import
org.apache.flink.table.types.logical._
...
...
@@ -42,7 +43,7 @@ import scala.collection.JavaConversions._
/**
* Factory for creating runtime implementation for internal aggregate functions that are declared
* as subclasses of [[SqlAggFunction]] in Calcite but not as [[BridgingSqlAggFunction]]. The factory
* returns [[DeclarativeAggregateFunction]] or [[
Internal
AggregateFunction]].
* returns [[DeclarativeAggregateFunction]] or [[
BuiltIn
AggregateFunction]].
*
* @param inputType the input rel data type
* @param orderKeyIdx the indexes of order key (null when is not over agg)
...
...
flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/planner/plan/utils/AggregateUtil.scala
浏览文件 @
7fd16039
...
...
@@ -22,13 +22,13 @@ import org.apache.flink.table.api.{TableConfig, TableException}
import
org.apache.flink.table.data.RowData
import
org.apache.flink.table.expressions.ExpressionUtils.extractValue
import
org.apache.flink.table.expressions._
import
org.apache.flink.table.functions.
{
AggregateFunction
,
FunctionKind
,
ImperativeAggregateFunction
,
UserDefinedFunction
,
UserDefinedFunctionHelper
}
import
org.apache.flink.table.functions.
_
import
org.apache.flink.table.planner.JLong
import
org.apache.flink.table.planner.calcite.FlinkRelBuilder.PlannerNamedWindowProperty
import
org.apache.flink.table.planner.calcite.
{
FlinkTypeFactory
,
FlinkTypeSystem
}
import
org.apache.flink.table.planner.delegation.PlannerBase
import
org.apache.flink.table.planner.expressions.
{
PlannerProctimeAttribute
,
PlannerRowtimeAttribute
,
PlannerWindowEnd
,
PlannerWindowStart
}
import
org.apache.flink.table.planner.functions.aggfunctions.
{
DeclarativeAggregateFunction
,
InternalAggregateFunction
}
import
org.apache.flink.table.planner.functions.aggfunctions.
DeclarativeAggregateFunction
import
org.apache.flink.table.planner.functions.bridging.BridgingSqlAggFunction
import
org.apache.flink.table.planner.functions.inference.OperatorBindingCallContext
import
org.apache.flink.table.planner.functions.sql.
{
FlinkSqlOperatorTable
,
SqlFirstLastValueAggFunction
,
SqlListAggFunction
}
...
...
@@ -41,6 +41,7 @@ import org.apache.flink.table.planner.typeutils.DataViewUtils
import
org.apache.flink.table.planner.typeutils.DataViewUtils.DataViewSpec
import
org.apache.flink.table.planner.typeutils.LegacyDataViewUtils.useNullSerializerForStateViewFieldsFromAccType
import
org.apache.flink.table.planner.utils.JavaScalaConversionUtil.toScala
import
org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction
import
org.apache.flink.table.runtime.operators.bundle.trigger.CountBundleTrigger
import
org.apache.flink.table.runtime.types.LogicalTypeDataTypeConverter.fromDataTypeToLogicalType
import
org.apache.flink.table.types.DataType
...
...
@@ -483,13 +484,13 @@ object AggregateUtil extends Enumeration {
hasStateBackedDataViews
:
Boolean
)
:
AggregateInfo
=
udf
match
{
case
imperativeFunction
:
Internal
AggregateFunction
[
_
,
_
]
=>
case
imperativeFunction
:
BuiltIn
AggregateFunction
[
_
,
_
]
=>
createImperativeAggregateInfo
(
call
,
imperativeFunction
,
index
,
argIndexes
,
imperativeFunction
.
get
InputDataTypes
,
imperativeFunction
.
get
ArgumentDataTypes
.
asScala
.
toArray
,
imperativeFunction
.
getAccumulatorDataType
,
imperativeFunction
.
getOutputDataType
,
needsRetraction
,
...
...
flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/planner/plan/utils/PythonUtil.scala
浏览文件 @
7fd16039
...
...
@@ -22,9 +22,10 @@ import org.apache.calcite.rel.core.AggregateCall
import
org.apache.calcite.rex.
{
RexCall
,
RexFieldAccess
,
RexNode
}
import
org.apache.flink.table.functions.FunctionDefinition
import
org.apache.flink.table.functions.python.
{
PythonFunction
,
PythonFunctionKind
}
import
org.apache.flink.table.planner.functions.aggfunctions.
{
DeclarativeAggregateFunction
,
InternalAggregateFunction
}
import
org.apache.flink.table.planner.functions.aggfunctions.
DeclarativeAggregateFunction
import
org.apache.flink.table.planner.functions.bridging.
{
BridgingSqlAggFunction
,
BridgingSqlFunction
}
import
org.apache.flink.table.planner.functions.utils.
{
AggSqlFunction
,
ScalarSqlFunction
,
TableSqlFunction
}
import
org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction
import
scala.collection.JavaConversions._
...
...
@@ -95,7 +96,7 @@ object PythonUtil {
val
aggregation
=
call
.
getAggregation
aggregation
match
{
case
function
:
AggSqlFunction
=>
function
.
aggregateFunction
.
isInstanceOf
[
Internal
AggregateFunction
[
_
,
_
]]
function
.
aggregateFunction
.
isInstanceOf
[
BuiltIn
AggregateFunction
[
_
,
_
]]
case
function
:
BridgingSqlAggFunction
=>
function
.
getDefinition
.
isInstanceOf
[
DeclarativeAggregateFunction
]
case
_
=>
true
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录