Как использовать .cleanupInBackground () в приложении Kinesis Analytics (1.8)? - PullRequest
0 голосов
/ 27 марта 2020

В соответствии с документом amazon , у нас есть RocksDBStateBackend в качестве нашего основного состояния по умолчанию для KDA.

Цитата:

In Kinesis Data Analytics, конфигурация state.backend.rocksdb.ttl.compaction.filter.enabled включена по умолчанию. Используя этот фильтр, вы можете обновить код своего приложения, чтобы включить стратегию очистки уплотнения.

Я не смог найти ни одного проекта / ссылки на Github, где был настроен StateTtlConfig для RocksDBStateBackend.

Согласно чтобы мигать документы , нам нужно использовать его в main классе, как указано ниже:

    public static void main(String[] args) throws Exception {

        //  Get sEnv context.
        final StreamExecutionEnvironment sEnv = StreamExecutionEnvironment.getExecutionEnvironment();

        StateTtlConfig ttlConfig = StateTtlConfig
            .newBuilder(org.apache.flink.api.common.time.Time.minutes(30))
            .cleanupFullSnapshot()
            .cleanupInBackground()
            .build();

        /** Rest of the code. **/
    }
  1. Это правильное использование?

  2. Является ли Time.minutes(30) периодом хранения для наших контрольных точек?

  3. Должен ли я использовать .cleanupIncrementally (100, true)?

  4. В соответствии с aws документами State Backend Memory Threshold = 1048576 (не уверен насчет блока памяти). Должны ли мы рассмотреть это, почему при оценке удержания ie Time.minutes(30)?

Просьба предоставить четкую ссылку на код его использования. Спасибо.

...