Apache Flink : Контрольная точка состояния оператора - PullRequest
0 голосов
/ 31 октября 2018

Я хочу использовать Operator State API в No-Keyed Stream для сохранения состояния count в примере ниже. что мне делать?

public static class MapFunction implements MapFunction<String, String>,CheckpointedFunction{
    int count = 0;
    @Override
    public String map(String value) throws Exception {
        // TODO Auto-generated method stub
            String message;
            message = value;
            count++;
            return message;
    }

    @Override
    public void snapshotState(FunctionSnapshotContext context) throws Exception {
        // TODO Auto-generated method stub
    }

    @Override
    public void initializeState(FunctionInitializationContext context) throws Exception {
        // TODO Auto-generated method stub
    }

}

Спасибо за ваш ответ.

1 Ответ

0 голосов
/ 04 ноября 2018

Как отметил Давид, документы являются хорошей отправной точкой. Самый простой подход - реализовать интерфейс ListCheckpointed . Когда вызывается snapshotState(), вы возвращаете одноэлементный список вашего count (как Integer). Когда вызывается restoreState(), вы перебираете список значений Integer и суммируете их, чтобы установить переменную count.

...