【发布时间】:2017-06-28 12:56:36
【问题描述】:
是否可以在运行时配置 flink 应用程序?例如,我有一个流式应用程序,它读取输入,进行一些转换,然后过滤掉低于某个阈值的所有元素。但是,我希望这个阈值可以在运行时进行配置,这意味着我可以更改它而无需重新启动我的 flink 作业。示例代码:
DataStream<MyModel> myModelDataStream = // get input ...
// do some stuff ...
.filter(new RichFilterFunction<MyModel>() {
@Override
public boolean filter(MyModel value) throws Exception {
return value.someValue() > someGlobalState.getThreshold();
}
})
// write to some sink ...
DataStream<MyConfig> myConfigDataStream = // get input ...
// ...
.process(new RichProcessFunction<MyConfig>() {
someGlobalState.setThreshold(MyConfig.getThreshold());
})
// ...
是否有可能实现这一目标?例如可以通过配置流更改的全局状态。
【问题讨论】:
标签: apache-flink flink-streaming