Apache flink flink流媒体中如何动态序列化参数

Apache flink flink流媒体中如何动态序列化参数,apache-flink,flink-streaming,Apache Flink,Flink Streaming,我有一个参数params要在flink streaming中序列化 class P extend Serializable {...} val params = new P(...) val env = StreamExecutionEnvironment.getExecutionEnvironment env.addSource(new MySource(params)) .map(new MyMap(params)) .addSink(new MySink(params)) e

我有一个参数
params
要在flink streaming中序列化

class P extend Serializable {...}

val params = new P(...)
val env = StreamExecutionEnvironment.getExecutionEnvironment
env.addSource(new MySource(params))
   .map(new MyMap(params))
   .addSink(new MySink(params))
env.setParallelism(1)
env.execute("My Job")

但是,在驱动程序节点中,params会发生变化,我需要在作业运行期间将
params
更新到executor。基于flink流媒体作业的不停止是否可能?

简而言之,答案是否定的。因为您的UDF将需要在每次新记录出现时对参数进行[反]序列化,这将降低执行速度

但是,您可以通过扩展并在中调用流操作符来实现自己的流操作符。我在这里举了一个例子:“

然后决定何时读取新参数的运算符。例如,只需创建一个新的线程,该线程计划为每10分钟一次。参数文件必须放置在操作员将要运行的所有节点上