谢谢答复哈,特别是在这个临近放假的时间点。
我们很多任务主要都是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.
>

回复