将配置参数传递给自定义Flink ProcessFunction

2022-03-15 00:00:00 apache-flink java flink-streaming

我需要能够向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没有使用它。

相关文章