谢谢答复哈,特别是在这个临近放假的时间点。 我们很多任务主要都是Flink SQL,不知道有没有人有类似的处理经验, 如果State Processor API 在Flink SQL上行不通,那状态是否有迁移的方案呢?
Hangxiang Yu <master...@gmail.com> 于2023年1月18日周三 19:39写道: > 1. 可以的,state processor api主要就是做这个事儿的 > 2. 我目前看起来SQL作业似乎没有很好的方式获取uid,一种是打开debug日志,从 > StreamGraphHasherV2#generateDeterministicHash的debug日志里可以获取到 > > On Wed, Jan 18, 2023 at 2:39 PM ying lin <brucekel...@gmail.com> wrote: > > > Flink版本:1.13.6 > > 最近在做一些关于Rocksdb State通过state process api 读写的poc,有一些疑惑想请教一下: > > > > 1. 如果现在已有一个Kafka SourceA -> 自定义有状态算子B -> HDFS File Sink的Flink > > 程序,那么状态主要存在于Kafka Source算子A以及有状态算子opereratorB, > > 是否可以通过state process api > > > > > 将这A、B两个算子的状态读写加工处理后写成一个新的savepoint,再将新的任务基于这个新的savepoint拉起,从而达到将原本任务的状态迁移到新的任务的目的。这种做法可行吗? > > > > 2. 我看到state process api中都要求指定operator uid, 如果是一个Flink > > SQL任务,operator的uid要如何确定?主要的场景是,现在存在一些Flink > > SQL任务,后续可能会做一定的改造,但是原来有一部分状态不希望丢弃,但是在调用state process api时需要指定uid。 > > > > > -- > Best, > Hangxiang. >