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.

回复