Apache flink 在Apache Flink中注册聚合UDF
我尝试按照以下步骤创建基本的Flink聚合UDF。我已经添加了依赖项()并实现了Apache flink 在Apache Flink中注册聚合UDF,apache-flink,flink-streaming,flink-sql,Apache Flink,Flink Streaming,Flink Sql,我尝试按照以下步骤创建基本的Flink聚合UDF。我已经添加了依赖项()并实现了 public class MyAggregate extends AggregateFunction<Long, TestAgg> {..} 但是,registerfuntion似乎只需要一个ScalarFunction作为输入。我收到一个不兼容的类型错误:类型表环境中的方法registerFunction(String,ScalarFunction)不适用于参数(String,MyAggregate
public class MyAggregate extends AggregateFunction<Long, TestAgg> {..}
但是,registerfuntion
似乎只需要一个ScalarFunction
作为输入。我收到一个不兼容的类型错误:类型表环境中的方法registerFunction(String,ScalarFunction)不适用于参数(String,MyAggregate)
任何帮助都会很好。您需要为您选择的语言导入
StreamTableEnvironment
,在您的例子中是org.apache.flink.table.api.java.StreamTableEnvironment
org.apache.flink.table.api.StreamTableEnvironment
是StreamTableEnvironment
的Java和Scala变体的常见抽象类。我们注意到API的这一部分让用户感到困惑,我们将在将来对其进行改进
StreamExecutionEnvironment sEnv = StreamExecutionEnvironment.getExecutionEnvironment();
StreamTableEnvironment sTableEnv = StreamTableEnvironment.getTableEnvironment(sEnv);
sTableEnv.registerFunction("MyMin", new MyAggregate());