Получение объекта Collector из контекста ProcessWindowFunction в Flink - PullRequest
0 голосов
/ 13 января 2020

Я имитирую аннулирование кэша TTL на шаге clear ProcessWindowFunction и пытаюсь получить доступ к объекту коллектора, используемому в процессе, в методе clear. Можно ли получить его, используя Context или getRuntimeContext .

public class TimedProcess extends ProcessWindowFunction<Map<String, List<String>>, Map<String, List<String>>, String , TimeWindow> {

    Map<String, List<String>> cachedValue;

    @Override
    public void clear(Context context) throws Exception {
        // How to get output used in process function here

        // Collector<Map<String, List<String>>> output = ?

        // Map<String, List<String> recentCacheValue;
        // output.collect(recentCacheValue)

    }

    @Override
    public void process(String visitorId, Context context, Iterable<Map<String, List<String>>> input, Collector<Map<String, List<String>>> output) throws Exception {

         // cache store logic
         // output.collect(cachedValue);
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...