Hello, all. I am relatively new to Flink and I am ...
# random
a
Hello, all. I am relatively new to Flink and I am trying to understand if there a legal way to restart the processing with updated dag. In my particular case I have kafka source, kafka sink and some projection in between. So I want the projection rules to be externalized and in case the external projection definition is changes I want it to be applied automatically somehow. My current understanding is that I need to • track the current
JobClient
by leveraging
env.executeAsync
• where I see projection update I need to use
JobClient.stopWithSavepoint
to save the state • then I need to update env so that next run would use saved state (I can't find how to do that without the need to re-create
StreamExecutionEnvironment
and I'm not sure if that's a proper way to go) • then I re-apply the source-transformations-sink dag with updated projection • and run
env.executeAsync
waiting for the new projection update comes what do you guys think? does it sound legal? crazy? any better approaches? how would you solve similar class of problem?