Re:Re: CheckpointedFunction 与 KeyedState

2023-05-06 文章 sjf0115
dState 的操作是对确定的 KV 进行的; >而 initializeState 和 snapshotState 里是没有框架隐性 set 的,相当于会对某一个不确定的 key 去update >value了,如果一定要在这里做就需要拿到 KeyContext 自己去 set,不过不建议这么做; > >On Fri, May 5, 2023 at 10:58 PM sjf0115 wrote: > >> CheckpointedFunction 接口的 initializeState 方法提

CheckpointedFunction 与 KeyedState

2023-05-05 文章 sjf0115
CheckpointedFunction 接口的 initializeState 方法提供了访问 FunctionInitializationContext 的能力,而 FunctionInitializationContext 不仅提供了访问 OperatorStateStore 的能力,也提供了 KeyedStateStore 的能力。一般常见的是通过 CheckpointedFunction 来实现操作 OperatorState,但是也可以通过如下代码来获取 KeyedState: ```java

Re:Re:Re:Re:Re:在自定义表聚合函数 TableAggregateFunction 使用 emitUpdateWithRetract 异常

2022-05-24 文章 sjf0115
好的 谢谢 在 2022-05-24 21:23:56,"Xuyang" 写道: >Hi, >我debug到了代码里,似乎是个bug。如果使用OldPlanner的话,emitValue和emitUpdateWithRetract仅需定义一个就可以了,并且emitUpdateWithRetract的优先级大于emitValue。但是在Blink > Planner里,只看有没有定义emitValue。你可以去Flink issue上提一下这个bug >在 2022-05-23 18:24:17,"sjf0

Re:Re:Re:在自定义表聚合函数 TableAggregateFunction 使用 emitUpdateWithRetract 异常

2022-05-23 文章 sjf0115
注册临时i系统函数 tEnv.createTemporarySystemFunction("Top2", new Top2RetractTableAggregateFunction()); // 调用函数 tEnv.from("stu_score") .groupBy($("course")) .flatAggregate(call("Top2", $("sco

Re:Re:在自定义表聚合函数 TableAggregateFunction 使用 emitUpdateWithRetract 异常

2022-05-23 文章 sjf0115
函数代码如下:```public class Top2RetractTableAggregateFunction extends TableAggregateFunctionTuple2Long, Integer, Top2RetractTableAggregateFunction.Top2RetractAccumulator {private static final Logger LOG = LoggerFactory.getLogger(Top2RetractTableAggregateFunction.class);// Top2 聚合中间结果数据结构