我有一个Apache Flink
作业,它最初将某些配置数据存储为"全局作业参数":
final var env = StreamExecutionEnvironment.getExecutionEnvironment();
final var executionConfig = env.getConfig();
...
executionConfig.setGlobalJobParameters(params);
我面临的问题是,我有一个自定义KafkaRecordDeserializationSchema
,我需要在其中访问这些内容——就像任何富用户功能都可以做的那样。
我有几个字段/成员正在其中初始化,因为该类所做的不仅仅是反序列化消息,所以我需要它们。
有没有办法在任何解串器中执行类似于getRuntimeContext().getExecutionConfig().getGlobalJobParameters()
的操作,或者拆分流并在更"专用"的功能中执行多个操作会更好?
传入的DeserializationSchema.InitializationContext
不提供对执行配置的访问。但是,您可以做的是为将配置传递给的自定义KafkaRecordDeserializationSchema
定义一个构造函数。