flink-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maximilian Michels <...@apache.org>
Subject Re: Accessing configuration in RichFunction
Date Mon, 18 Jan 2016 11:30:58 GMT
Hi Christian,

For your implementation, would it suffice to pass a Configuration with
your RichFilterFunction? You said the global job parameters are not
passed on to your user function? Can you confirm this is a bug?


On Wed, Jan 13, 2016 at 10:59 AM, Christian Kreutzfeldt
<mnxfst@gmail.com> wrote:
> Hi Fabian,
> thanks for your quick response. I just figured out that I forgot to mention
> a small but probably relevant detail: I am working with the streaming api.
> Although there is a way to access the overall job settings, I need a
> solution to "reduce" the view on configuration options available on operator
> level.
> For example, I would like to pass instance specific settings like an
> operator identifier but there might be different operators in the overall
> program.
> Best
>   Christian
> 2016-01-13 10:52 GMT+01:00 Fabian Hueske <fhueske@gmail.com>:
>> Hi Christian,
>> the open method is called by the Flink workers when the parallel tasks are
>> initialized.
>> The configuration parameter is the configuration object of the operator.
>> You can set parameters in the operator config as follows:
>> DataSet<String> text = ...
>> DataSet<Tuple2<String, Integer> wc = text.flatMap(new
>> Tokenizer()).getParameters().setString("myKey", "myVal");
>> Best, Fabian
>> 2016-01-13 10:29 GMT+01:00 Christian Kreutzfeldt <mnxfst@gmail.com>:
>>> Hi
>>> While working on a RichFilterFunction implementation I was wondering, if
>>> there is a much better way to access configuration
>>> options read from file during startup. Actually, I am using
>>> getRuntimeContext().getExecutionConfig().getGlobalJobParameters()
>>> to get access to my settings.
>>> Reason for that is, that the Configuration parameter provided to the open
>>> function does not carry my settings. That is probably
>>> the case as I use
>>> this.executionEnvironment.getConfig().setGlobalJobParameters(cfg) to pass my
>>> configuration into the environment
>>> which in turn is not passed on as part of the open call - I found no
>>> other way to handle configuration ;-)
>>> My question is: who is responsible for calling the open function, where
>>> does the configuration parameter has its origins aka where
>>> is its content taken from and is it possible to define somewhere in the
>>> main program which configuration to pass into a specific operator?
>>> Best
>>>   Christian

View raw message