将配置参数传递给自定义Flink ProcessFunction
我需要能够向MyFunction
传递扩展ProcessFunction
的配置参数。在我的参数中,这是我唯一的方法吗?我不需要将它与每个元素一起传递。我可以以某种方式使用open
方法吗?
public class MyProcessFunction extends ProcessFunction<AbstractMap.SimpleEntry<Row, RowTypeInfo>, MyOutput> {
public void open(Configuration parameters) {
}
@Override
public void processElement(AbstractMap.SimpleEntry<Row, RowTypeInfo> value, Context ctx, Collector<MyOutput> out) throws Exception {
解决方案
添加向其传递参数的构造函数是一种很好的方法。
Handling Application Parameters的Flink文档中的页面包含一些相关信息。
您可能认为可以通过某种方式利用open()
方法的Configuration parameters
参数,但这是Flink项目早期的遗留问题,Datastream API没有使用它。
相关文章